前端

Promise.all异步操作并行执行,优化请求、提高性能

2019-08-08聚力创意

优化前,依次执行异步操作

await dispatch(setInfo())
await dispatch(setBannerList())
await dispatch(setArticleList())
await dispatch(setSideData())

// request: 75.386ms

请求耗时:75.386ms

使用Promise.all并行执行异步操作

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

await Promise.all([
  dispatch(setInfo()),
  dispatch(setBannerList()),
  dispatch(setArticleList()),
  dispatch(setSideData())
])

// request: 37.127ms

请求耗时:37.127ms

速度提升一倍

蜀ICP备17044229号