03 添加并发请求
我们通过两种方式演示发起多个请求:
- 使用
async
和await
方式 - 使用
Promise.all()
方式
首先使用async
和 await
方式发送请求,使用 async
和 await
能够控制异步任务以同步的流程执行,代码如下,这时候就会产生一个问题,当第一个请求执行完以后,才能执行第二个请求,这样就会造成请求的阻塞,影响渲染的速度。
这时候我们需要使用 Promise.all()
方式同时发起多个异步请求,并在所有请求完成后再进行数据处理和渲染。使用Promise.all()
能够将多个请求同时发出,不会造成请求的阻塞。
在 WxRequest 实例中封装 all
方法,使用展开运算符将传入的参数转成数组,方法的内部,使用 Promise.all()
接收传递的多个异步请求,将处理的结果返回即可。
class WxRequest {// coding...// 封装处理并发请求的 all 方法all(...promise) {return Promise.all(promise)}// coding...
}// coding...