基本上,我的应用程序是一个带有 windows azure 服务的 PhoneGap 应用程序,我在使用 javascript 时遇到回调方法问题。请检查下面的代码。
checkeventsRegistration = function (azureEid,regid,callback) {
alert(azureEid + " <> " + regid);
var client = new WindowsAzure.MobileServiceClient('https://mobbacktest.azure-mobile.net/', 'RvahPxHKoEsGiLdlCYZpHBllvSVQxl66');
reglog = client.getTable('registrationlog');
query = reglog.where({ eventid: azureEid, regid: regid });
query.read().done(function (log)
{
alert("Log:" + log.length);
});
callback(log.length);
};
我将按如下方式调用此函数。
checkeventsRegistration(eid, regid, savenum);
我的问题是此回调方法在 query().read()
之前触发。
最佳答案
外部函数中的callback
的目的是在异步操作完成时执行一些操作,因此您应该从done
方法内部调用它。
query.read().done(function (log){
alert("Log:" + log.length);
callback(log.length);
});
关于javascript - 如何在javascript中的异步函数中回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966149/