循环遍历异步javascript函数数组同步

时间:2017-07-21 23:25:15

标签: javascript ajax asynchronous synchronization

我有一组异步ajax调用,我需要循环并按顺序执行。有没有办法避免承诺?

这是我所拥有的,这有效,但不等到最后一篇文章完成

for (i = 0; i < post.length; i++)
{
   post[i]();
};

1 个答案:

答案 0 :(得分:0)

您的问题不明确为什么您不能使用承诺,但如果您能够使用async/await

post.forEach( async currentPost => {
  await currentPost()
})

如果你没有使用承诺因为它们很痛苦并且它们很冗长,那么上面的内容可能会更加符合你的喜好。

如果您因为不了解承诺的浏览器而无法使用async / await,那么这将无效,因为async functions return promises。但是on many modern browsers, compatibility is good