function print(msg, delay) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(msg)
}, delay)
})
}
const p1 = print('1', 200)
const p2 = print('2', 300)
const p3 = print('3', 400)
const p4 = Promise.reject('error test')
Promise.all([p1, p2, p3, p4]).then(res => {
console.log(res)
}).catch(e => {
console.log(e)
})
Promise.race([p1, p2, p3]).then(res => {
console.log(res)
})