现在我有这样的代码:
$.ajax({
url: apiUrl + valueToCheck,
data: {
format: 'json'
},
error: function () {
},
dataType: 'json',
success: function (data) {
checkAgainstDBHelperWH(data, valueToCheck);
},
type: 'GET'
});
如果我没记错的话,checkAgainstDBHelperWH
被称为回调函数。一旦服务器针对此特定的HTTP / ajax请求发送回响应,该函数就会执行。
我想尝试编写类似于以下内容的内容,但我不知道会有什么影响,甚至还不合逻辑:
var request = $.ajax({
url: apiUrl + valueToCheck,
data: {
format: 'json'
},
error: function () {
},
dataType: 'json',
success: function (data) {
checkAgainstDBHelperWH(data, valueToCheck);
},
type: 'GET'
})
arrayOfPromises.push(request);
$.when.apply(null, arrayOfPromises).done(function () {
//...some javascript here
});
我想了解在回调函数.done(function ()
完成之后是否触发了checkAgainstDBHelperWH
?还是我上面试图写的内容与ajax的工作方式不一致?
谢谢!
答案 0 :(得分:0)
我对其进行了测试,只有在该函数(在本例中为'checkAgainstDBHelperWH')未调用ajax的情况下,您的代码才起作用。 如果要等待内部ajax进程完成,请使用then()并返回内部ajax。
var ajaxs =
$.get("xxx").then(function() {
return $.get("yyy").done(function() {
});
});
这里是jsfiddle。
我不确定这种方法是否通用。