Promise.all()和Promise.race()的区别

Promise.all接收一个promise数组,作用是待所有promise完成以后再返回所有promise的结果。在实际开发中,Promise.all() 方法通常用于等待多个异步操作全部完成后再进行下一步处理。例如,我们可以实现并行下载多个文件并将它们合并为一个文件:

Promise.race接受一个promise数组,作用是返回最快完成的promise结果。在实际开发中,Promise.race() 方法通常用于设置一个超时机制,即如果某个异步操作在指定的时间内未能得到响应,则自动放弃该操作。例如:


function axiosWithTimeout(url, time){

    Promise.race([axios.get(url), new Promise(resolve, reject)=>{

        setTimeOut(()=>{

            reject('请求接口超时!')

        }, time)

    }])

}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容