async/await 和 Promise的执行顺序问题

探讨了async/await和Promise的执行顺序问题,分析Promise的缺点,并提供三种方法来实现期望的执行顺序,包括在async中使用await定义Promise,使用立即执行函数以及重新定义Promise函数。
摘要由CSDN通过智能技术生成

async/await 和 Promise的执行问题

项目中使用了async/await ,模拟代码如下:
Promise的缺点:(引用:阮一峰
1.一旦新建,就会立即执行
2.如果不设置回调函数,Promise内部抛出的错误,不会反应到外部
3.当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)
分析可得:原来的p1和p2在定义的时候就会执行

var data='0'
var p1= new Promise(resolve=>{
   
    console.log('data_p1:'+data)
    setTimeout(()=>{
    
        data='2'
        resolve('Done')
    }, 1000);
})
var p2=new Promise(resolve=>{
   
    console.log('data_P2:'+data)
    resolve('Done')
})
async function f(){
   
    console.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值