【发布时间】:2015-09-01 12:47:03
【问题描述】:
根据这个link(菜鸟错误#2)我不应该在Promises中使用循环,而是Promise.all(iterable)。
这真的适用于所有循环吗? Promise.all(iterable) 采用大小为 n 的数组。如果我使用Promise.all(iterable),那么我会得到一个大小为 n 的数组(即 iterable_A)。
如果我想遍历 iterable 并且只想将满足我的条件的某些元素放入另一个 iterable(例如 iterable_B)并想返回 iterable_B 而不是 iterable_A 怎么办?我也应该使用Promise.all()吗?
【问题讨论】:
-
您可以在 Promise 中使用循环,只要它们不会花费太多时间来执行并且您不会在循环中执行任何异步任务。
-
啊,是的。这就说得通了。上面链接中的文章对此并不清楚。它给人的印象是所有循环都被承诺禁止。
标签: javascript asynchronous callback promise