我有两个帖子请求我正在利用jquery和一个使用这些帖子的结果的方法。所以代码的工作原理如下:
post1
post2
function
在调用函数之前,如何让代码等到post1和post2都完成?我尝试做一个while循环来查看post1和post2中的数据是否都已设置,但它挂起了浏览器。我可以同步调用它们,但这比设置两个请求并等待它们完成要慢。除了JavaScript之外,任何多线程语言都很容易解决这个问题,因为官方认为它不是多线程的,因此不支持等待一系列“线程”完成。
答案 0 :(得分:2)
保留请求的计数,并在回调中修改它,然后查看是否还有剩余要运行。
var count = 2;
var callback = function () {
count--;
if (!count) {
both_ajax_called_successful();
}
};
jQuery.ajax({url: 'example1', success: callback});
jQuery.ajax({url: 'example2', success: callback});
答案 1 :(得分:1)
声明一个计数器,其值为请求数,每次收到响应时减去一个值。当值为0时,应该完成所有请求。