function timer(time) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(time)
}, time)
})
}
Promise.all([timer(1000), timer(2000), timer(3000)])
.then(result => {
console.log(result)
}) // [ 1000, 2000, 3000 ]
Promise.race([timer(1000), timer(2000), timer(3000)])
.then(result => {
console.log(result)
}) // 1000