有没有办法在同一时间进行多次同步ajax调用?假设我有许多ajax调用,彼此没有依赖关系。我希望它们在同一时间运行,但由于某种原因我无法使用异步调用。
答案 0 :(得分:2)
不,没有办法。你可以同步,一个接一个地,或者异步地同时运行它们:)你想要的是完全相反的,它无法完成,抱歉:(
答案 1 :(得分:0)
您应该只使用异步调用。并做一些检查,看看他们是否已经完成了你的脚本下一步需要做的事情,如果这是关注点。例如,通过使用setTimeout()
函数,或使用随每个ajax响应递增的全局计数器变量。
答案 2 :(得分:0)
我认为你想要的是 - 并行进行ajax调用然后再做一次动作。
所以你需要在并行选项中使用Async操作 - sync.js
并行异步操作 -
http://alexeypetrushin.github.io/synchronize/docs/index.html
var sync = require('synchronize')
function read(a, cb) {
setTimeout(function(){
cb(null, a)
}, 1000)
}
// Runs in parallel
sync.fiber(function() {
sync.parallel(function() {
// You must call defer() manually within
// a parallel operation.
read(1, sync.defer())
read(2, sync.defer())
});
var results = sync.await()
// results now contains [1,2]
});
答案 3 :(得分:0)
我不确定为什么你不能异步调用它,但你可以尝试使用Web Workers