详解Promise.race()可以解决多个异步请求那个请求先返回

Promise.race([]);接受一个参数,由promise组成的一个数组;
它的返回结果是promise对象;
它的结果和状态由什么去决定呢?
由第一个改变Promise状态的对象去决定;若是返回的是成功,那么race就是成功;若是失败,那么race就是失败
let p1 = new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve('ok1')
    }, 1000)
})

let p2 = new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve('ok2')
    }, 1300)
})
let p3 = new Promise((resolve, reject) => {
    resolve('ok3')
})

const result = Promise.race([p1, p2, p3]);
console.log(result)

// 这个3个promise对象,肯定是p3先去改变promise的状态作为返回的结果

作者:明月人倚楼
出处:https://www.cnblogs.com/IwishIcould/

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

支付宝
微信
本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
如果文中有什么错误,欢迎指出。以免更多的人被误导。
原文地址:https://www.cnblogs.com/IwishIcould/p/14671698.html