DHR*_*SAL 5 javascript ajax jquery
我有3个特殊功能的ajax调用.第3个呼叫取决于前2个呼叫,即对于第3个呼叫,必须先完成2个呼叫.但前两个AJAX调用是独立的.所以我希望它们是异步并且并行执行.
现在如何构建这些调用?我试图把它们放在相应调用的嵌套成功块中,但是那个案例前2个调用也不是独立的.
如果可能的话,请建议使用一些sudo代码.
Fel*_*ing 15
$.when(ajaxCall1(), ajaxCall2()).then(ajaxCall3);
Run Code Online (Sandbox Code Playgroud)
在哪里ajaxCallX是这样的
function ajaxCall1() {
return $.ajax(...);
}
Run Code Online (Sandbox Code Playgroud)
这基本上意味着"在两者之后,承诺ajaxCall1和承诺ajaxCall2得到解决,执行功能ajaxCall3".
这是有效的,因为$.ajax(和类似的方法)返回的对象实现了promise接口.更多信息也可以在$.ajax文档中找到.
每个Ajax调用的响应都then作为参数传递给回调.你可以接受他们
$.when(ajaxCall1(), ajaxCall2()).then(function(a1, a2) {
// a1[0] is the response of the first call
// a2[0] is the response of the second call
ajaxCall3(a1[0], a2[0]);
});
Run Code Online (Sandbox Code Playgroud)
$.when另请参阅另一个示例的文档.
| 归档时间: |
|
| 查看次数: |
7327 次 |
| 最近记录: |