javascript - 推迟此处理的好方法(javascript示例)

标签 javascript web-services

我遇到了延期问题,我想知道是否有好的方法来处理

这是我的代码:

getFullAddressFromId: function (contactId) {
            var contact;

                $.ajax({
                    url: "/WebServices/FormOverview.asmx/GetFullAddressfromId",
                    data: { id: contactId},
                    success: function (result) {
                        contact = result;
                    },
                        error: function (err) {
                            _local.sendNotification.apply(this, ['Failed to load address information', 'Error']);
                    }
                });     
            };

            return contact;     
        }

这里的问题显然是“contact”在到达 return 语句时尚未加载,因为 Web 服务尚未完成运行。

如何推迟此函数 (getFullAddressFromId) 的返回以等待 webserbvice。

最佳答案

使用异步编程技术。

var getFullAddress = function(id, callback) {
  $.ajax({
    ...
    success: function(result) {
      // stuff
      callback(result);
    }
  });
}

或者使用deferred objects使用 jQuery 1.5+

var getFullAddress = function(id) {
  return $.ajax({
    ...
  });
}

getFullAddress("22").done(function() {
  // handle result
});

关于javascript - 推迟此处理的好方法(javascript示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417482/

相关文章:

javascript - 在单输入和多输入之间动态切换所选的 js

java - 在 jBoss 服务器中出现 java.lang.RuntimeException : Error unmarshalling file:/opt/jboss-5. 1.0.GA/server/port_1/conf/bootstrap.xml 异常

java - 可以将我的本地主机网络服务与模拟器连接,但不能与我的手机连接

c# - 从 .NET 调用 SAP PI 端点时出现 "Unrecognized message version"

java - Web 服务客户端之间的差异导致一次成功(JAXWS) 一次错误(AXIS)

javascript - 如何修复javascript keydown中的延迟

javascript - 函数在传递给函数组件时不执行

javascript - 如何知道所有 JSON 对象都已被迭代?

javascript - 是否有处理多个时区和适当的夏令时的 jQuery 日期格式化程序插件?

java - 是否有理由在 Java EE 的 @Webservice(.....) 注释中使用括号?