JS并发实现多个请求

145 阅读1分钟
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
*/