中小型企业网站优化,免费申请qq号码免费申请注册,云南高风险地区名单最新,基于营销导向的企业网站建设研究Promise.race()方法同样是将多个 Promise 实例#xff0c;包装成一个新的 Promise 实例。
const p Promise.race([p1, p2, p3]);上面代码中#xff0c;只要p1、p2、p3之中有一个实例率先改变状态#xff0c;p的状态就跟着改变。那个率先改变的 Promise 实例的返回值#…Promise.race()方法同样是将多个 Promise 实例包装成一个新的 Promise 实例。
const p Promise.race([p1, p2, p3]);上面代码中只要p1、p2、p3之中有一个实例率先改变状态p的状态就跟着改变。那个率先改变的 Promise 实例的返回值就传递给p的回调函数。
Promise.race()方法的参数与Promise.all()方法一样如果不是 Promise 实例就会先调用下面讲到的Promise.resolve()方法将参数转为 Promise 实例再进一步处理。 let x 10;let p1 new Promise((resolve) {setTimeout(()resolve(p1 hello x),2000);}).then((res) {console.log(p1 then 输出${res});return res;});let p2 new Promise((resolve) {setTimeout(() resolve(p2 hello x),2000);;}).then((res) {console.log(p2 then 输出${res});return res;});let p3 new Promise((resolve) {setTimeout(()resolve(p3 hello x),2000);;}).then((res) {console.log(p3 then 输出${res});return res;});let p4 new Promise((resolve) {setTimeout(()resolve(p4 hello x),2000);;}).then((res) {console.log(p4 then 输出${res});return res;});Promise.race([p1, p2, p3, p4]).then(result console.log(result)).catch((e) {console.log(f*cking man 报错了);console.log(e);});输出结果只输出最先改变状态的那个Promise的值