请教一个 Promise 的问题
資深大佬 : rodrick 2
分别有下面两个写法,区别就是后者用的 .catch ,为啥同用调用后打印结果不一样呢,前者打印 1,后者打印 2
function myPromiseRace(arr) { return new Promise((resolve, reject) => { for (let item of arr) { item.then( res => { resolve(res) }, err => { reject(err) } ) } }) }
function myPromiseRace(arr) { return new Promise((resolve, reject) => { for (let item of arr) { item .then( res => { resolve(res) } ) .catch(err => { reject(err) }) } }) }
调用
let p1 = Promise.reject(1), p2 = Promise.resolve(2), p3 = Promise.resolve(3) myPromiseRace([p1, p2, p3]).then(res => { console.log(res) }).catch(err => { console.log(err); })
大佬有話說 (9)