在回调函数之外使用FB.api(JS SDK)响应的方法是使用Promise或者async/await。以下是两种方法的示例:
function getFacebookData() {
return new Promise((resolve, reject) => {
FB.api('/me', 'GET', { fields: 'email, name' }, response => {
if (response.error) {
reject(response.error);
} else {
resolve(response);
}
});
});
}
getFacebookData()
.then(data => {
console.log('Facebook data:', data);
})
.catch(error => {
console.error('Error getting Facebook data:', error);
});
async function getFacebookData() {
return new Promise((resolve, reject) => {
FB.api('/me', 'GET', { fields: 'email, name' }, response => {
if (response.error) {
reject(response.error);
} else {
resolve(response);
}
});
});
}
(async () => {
try {
const data = await getFacebookData();
console.log('Facebook data:', data);
} catch (error) {
console.error('Error getting Facebook data:', error);
}
})();
这两种方法都可以在回调函数之外处理FB.api的响应。Promise是一种处理异步操作的模式,async/await是基于Promise的一种更加简洁的写法。在这两个示例中,我们都使用了Promise来处理FB.api的响应,并在回调函数之外获取响应的数据。
领取专属 10元无门槛券
手把手带您无忧上云