私は、次のような問題のうんざりだ:非同期結果を待っている
私はFacebookの機能FB.api()
を使用して、いくつかの権限のためのFacebooksのAPIを問い合わせます。私はいくつかのテストを続行するために行く前に、私の目的は、このクラスで頻繁に使用する機能を呼び出すために小さなヘルパークラスを作成することであるなど、この結果を待ちたい:
var fbHelper = {
hasPermission: function(permission) {
var hasPermission = false;
var requestedPermissions = false;
var permissions = { };
FB.api('/me/permissions', function(response){
permissions = response;
requestedPermissions = true;
return response;
});
if(permissions){
// make some checking stuff here
return hasPermission;
} else {
console.log('failed to /me/permissions');
return false;
}
}
}
は、だから私はfbHelper.hasPermission('dummy')
を使用したいです。残念ながら、FB.Api()
が完了する前にif(permissions)
が働いています。 Api-Callが完了するまで、残りのコードを待つ方法を教えてください。
うん感謝を。私はあなたの提案のようにそれをやった。この関数は3つのパラメータ(scope、callback_success、callback_error)を処理できるようになりました – Denis