javascript - 如何在javascript中的异步函数中回调

标签 javascript cordova azure

基本上,我的应用程序是一个带有 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/

相关文章:

iphone - 就速度而言,Sencha Touch + PhoneGap 与 native 应用程序相比表现如何?

azure - 将 Terraform 与 azapi_resource Provider 结合使用我无法创建 Slack 连接返回 "ApiNotFound"

PHP:如何提供正确的内容类型(取决于文件扩展名?)?

javascript - 为什么语法错误出现在我的 angularjs 元素中

cordova - ionic 2 - 应用程序浏览器 "browser.on(...).subscribe is not a function"错误

javascript - Google-图表栏动画

visual-studio - 使用组织帐户而不是 Microsoft 帐户登录 Visual Studio

azure - 无法使用 AKS 和 ACR 提取新镜像

javascript - 如何在 Three.js 中将 `Parentobject1` 转换为 `childobject2` 、 `childobject3` 添加或绘制?

javascript - 如何在 json 文件中移动。 # react