当遇到某种需求需要两次或多次进行网络请求时,可以考虑使用all方法(还是以setTimeout模拟网络请求)
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Promise.all([ new Promise((resolve, reject) => { setTimeout(() => { resolve({ name: "WRM", sex: "女", }); }, 1000); }), new Promise((resolve, reject) => { setTimeout(() => { resolve("hello world"); }, 2000); }), ]).then((data) => { console.log(data); });
|
- promise.all中的数组有两个元素(两个网络请求),只有当两个都请求到数据时才会调用then里的函数。
- then里的函数的参数data是一个数组类型
输出结果如下: