let P1 = new Promise((res,rej) => {
setTimeout(res("R1"),2000);
});
let P2 = new Promise((res,rej) => {
setTimeout(res("R2"),5000);
});
let P3 = new Promise((res,rej) => {
setTimeout(res("R3"),1000);
});
我希望我的函数按照它们开始的顺序返回承诺:["R3","R1","R2"]
function preserveOrder([P1,P2,P3]); // should return ["R3,"R2"]
function preserveOrder([P2,P3,P1]); // should return ["R3,"R2"]
我想不出最好的方法是什么? (因为 Promise.all() 会保留顺序)