深深感受 Promise.all 带来的速度提升

  • Post author:
  • Post category:其他


什么是Promise

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。(摘抄自 阮一峰老师的

ECMAScript 6 入门)

。具体请查看阮一峰老师的这部书,写得很棒!

Promise.all

Promise.all 方法主要用于将多个Promise实例,包装成一个新的Promise 数组实例。接受的是一个数组作为参数。

const results = Promise.all([p1,p2,p3]);

上图中 p1, p2, p3 分别都是Promise的实例。 results 是3个Promise 返回的一个数组集合。

在实际中的使用

对于Promise.all 的使用感受。主要是之前项目中需要调用淘宝的生成淘口令的接口。

以此为背景:有一个数组 response , 其中每个元素 都是一个Object对象,是淘宝商品的信息。因为每个商品都要 调用 淘口令的接口去生成淘口令。

response 的Length = 30

用for 去做循环,请求了30次  淘口令的接口去生成淘口令。 时间花了 1万毫秒。 才30条数据,这时间耗时也