promise串行和并行执行(async、await)



function
a(i) { return new Promise((resolve, reject) => { setTimeout(() => { console.log(i); resolve() }, 5000 - 1000 * i) }) } async function b() { console.log(1); for (let i = 0; i < 4; i++) { await a(i + 1) } console.log(5); } b()

通过async和await来使多个promise来实现串行执行

Promise.all(promisearr).then(res=>{
        //所有promise执行完后的执行代码
    })

Promise.all()方法是并行处理的,当所有的promise执行完成后执行

async是一个函数的修饰符,加上async关键词的函数会隐式地返回一个Promise,函数的返回值将作为Promise resolve的值。await后面跟的一定是一个Promise,await只能出现在async函数内,await的语义是:必须等到await后面跟的Promise有了返回值,才能继续执行await的下一行代码


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM