Promise.all的使用
1、使用特征
- 入参是一个数组,可以传基本类型值,也可以传promise对象。
- 返回结果是一个Promise对象。
- 入参数组中的每一个都返回成功,才返回成功。
- 只要有一个执行失败,则返回失败。
Promise.all([1, read2(file1), 3]).then(data => { console.log(data) },error => { console.log(error) })
2、适用场景
- 适合多个异步调用函数,并且多个异步函数的调用的入参和结果都无必然联系,比如多个文件的上传或下载。
- 多个异步函数的执行只关注成功或失败结果。
this.get1() get1() { let promiseAll = Promise.all([ new Promise((reslove, reject) => { setTimeout(() => { reslove('2000') }, 2000) }), new Promise((reslove, reject) => { setTimeout(() => { reslove('4000') }, 4000) }) ]) promiseAll.then( res => { console.log(res) // ["2000", "4000"] }, error => { console.log(error) } ) },