Col*_*tes 2 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;
}
Run Code Online (Sandbox Code Playgroud)
这里的问题显然是"联系人"在访问返回语句时没有加载,因为webservice尚未完成运行.
如何推迟从此函数返回(getFullAddressFromId)以等待webserbvice.
使用异步编程技术.
var getFullAddress = function(id, callback) {
$.ajax({
...
success: function(result) {
// stuff
callback(result);
}
});
}
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery 1.5+的延迟对象
var getFullAddress = function(id) {
return $.ajax({
...
});
}
getFullAddress("22").done(function() {
// handle result
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |