【发布时间】:2016-04-12 20:15:17
【问题描述】:
我知道有很多关于如何进行同步 AJAX 调用(使用延迟承诺)的示例,但我的问题有点不同。这是我正在尝试做的事情
- 进行 AJAX 调用
- 如果响应包含某个值,则再次循环并使用不同的参数进行另一个 AJAX 调用。参数的值将取决于第一次 AJAX 调用的响应,因此在进行第二次 AJAX 调用之前必须等待。
- 如果响应包含 (exit = true) 则退出循环。
我知道如果服务器从不返回条件 3,我们将处于无限循环中。
如何继续循环 AJAX 调用,直到 AJAX 调用的响应包含特定值?
【问题讨论】:
-
将您的 ajax 调用放入一个函数中,并让一个 while 循环执行该函数,直到满足 X 条件。确保在您的 jquery ajax 调用中设置 async: false 以确保同步处理。但是,请注意,如果您使用同步处理,它将锁定您的浏览器。在执行完 while 循环之前,您将无法单击、滚动等。
-
“同步”不是指异步吗?
-
……或者“顺序”? Promise 永远不会同步。
标签: javascript jquery ajax promise