我如何才能等到两个函数的结尾,以及仅在调用回调以使它们继续执行脚本之后才等待。
我注意了jQuery deferred.then(),但不了解如何在我的情况下使用它
GoogleDriveModule.checkAuth(function(authResult) {
if (authResult) {
return parts_count += 1;
}
});
DropboxModule.isAuthenticated(function(authResult) {
if (authResult) {
return parts_count += 1;
}
});
最佳答案
创建两个延迟的对象,并在回调中解决它们。然后,您可以使用$.when
等待两个递延:
var googleDone = $.Deferred(),
dropboxDone = $.Deferred();
GoogleDriveModule.checkAuth(function(authResult) {
googleDone.resolve();
if (authResult) {
return parts_count += 1;
}
});
DropboxModule.isAuthenticated(function(authResult) {
dropboxDone.resolve();
if (authResult) {
return parts_count += 1;
}
});
$.when(googleDone, dropboxDone).then(function() {
alert("Both authentication checks completed.");
});