async await 并发执行的问题

asyncsleep(i){
returnnewPromise((resolve,reject)=>{
setTimeout(function(){
resolve(i);
},1000);
});
}
asyncstart(finsh_callback){
console.time('g');
for(leti=0;i<5;i++){
letres=awaitthis.sleep({
i:i,
});
console.log(res);
}
console.timeEnd('g');
}
执行start函数输出
{i:0}
{i:1}
{i:2}
{i:3}
{i:4}
g:5003.286ms
本来5个任务,如果异步同时进行,也就是1秒左右。现在改成了asyncawait的写法之后,变成了一个接着一个进行,花费了5秒。如果我想多个并发执行,如何解决?
千万里不及你
浏览 416回答 2
2回答

ABOUTYOU

for(leti=0;i{letres=awaitsleep({i:i,});console.log(res);})()}这个也可以实现,但是和Promise.all是有本质区别的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript