let pro1 = ()=>{
setTimeout(()=>{
console.log(1,Date.now())
},1000)
}
let pro2 = ()=>{
setTimeout(()=>{
console.log(2,Date.now())
},4000)
}
let pro3= ()=>{
setTimeout(()=>{
console.log(3,Date.now())
},10000)
}
let fns = (fn)=>{
return new Promise(resolve=>{
fn()
resolve()
})
}
Promise.race([fns(pro1),fns(pro2),fns(pro3)])
/**
output:
1 1679207922126
2 1679207925120
3 1679207931117
*/