我有一个jquery
网站,我可以在其中创建asynchronous call
facebook API。
loading widget
只要调用 API 并在调用完成后隐藏小部件,我就需要运行一个。
出于这个原因,我决定使用deferred.then()
jquery 提供的方法。
这是我原来的异步调用:
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : '564984346887426', // App ID from the app dashboard
channelUrl : 'channel.html', // Channel file for x-domain comms
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
FB.api('169070991963/albums', checkForErrorFirst(getAlbums));
}
我尝试:
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : '564984346887426', // App ID from the app dashboard
channelUrl : 'channel.html', // Channel file for x-domain comms
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
$.mobile.loading("show");
FB.api('169070991963/albums', checkForErrorFirst(getAlbums))
.then(
function(){ $.mobile.loading("hide");
});
}
但我得到了错误:
Uncaught TypeError: Cannot call method 'then' of undefined
我知道我用错了。但是来自 jquery 站点的示例并不能帮助我很好地理解它应该如何在这里完成。有任何想法吗?