const results = [];
const timeout = i =>
new Promise(resolve =>
setTimeout(() => {
results.push(i);
resolve();
}, i)
).then(() => {
return i
});
const urls = [100, 500, 300, 200]
async function main() {
for(let i = 0; i < urls.length; i += 2) {
await Promise.all(urls.slice(i, i + 2).map(_ => timeout(_)))
}
console.log(results)
}
main()