【发布时间】:2018-05-05 07:34:23
【问题描述】:
有没有办法使用 Promise.all() 延迟对一组承诺的评估?
在将它们添加到数组之前手动将延迟函数添加到每个 Promise 的末尾是否有意义?
Promise.all([p1,p2,p3]).then(res => console.log(res))
我想添加一个延迟,因为我的服务器无法一次处理太多请求。
【问题讨论】:
-
我认为这不会在代码方面进行扩展,假设我想调用 100 个承诺。这将导致一个非常长的文件。这就是为什么我想尝试使用 Promise.all() 以编程方式完成它
-
promise 在调用时创建。 Promise.all 只是在所有调用完成后通知您。它不会耽误他们。您实际上需要延迟拨打电话,而不是承诺。
-
这很有意义,谢谢@OriDrori。
-
根据您实际创建所有这些承诺的方式,您可能对 npmjs.com/package/p-limit 感兴趣
-
如果要序列化调用,请查看 async await。
标签: ecmascript-6 promise