js实现两个方式实现函数同步执行,比如先执行完B函数,再执行A函数。callback和async await

1. 方式1  使用async await  使用promise来等待执行完成

funcA(){

     return new Promise((resolve, reject) => {
        if(true){

           resolve(你要传正确返回值)

       }else{

          reject(你要传输错误的值)

      }


    })

},
funcB(){

     return new Promise((resolve, reject) => {
        if(true){

           resolve(你要传正确返回值)

       }else{

          reject(你要传输错误的值)

      }


    })

},

接下来我们在方法c调用A和B ,如果我们希望先执行完毕B再执行A,可以这样操作,给C方法加上async,它才能使用await

async funcC(){

   //先执行完毕B,await作用就是等待这个函数执行完毕才往下走
   var resB = await this.funcB()
   //再去执行方法A
   this.funcA()
  
},

2.方式2,我们可以使用callback来完成,就是在执行完B里面,加个函数,A就在那个函数里面执行

funcA(){

   //执行你的操作
  
},

funcB(callback){

 //执行你的操作,完毕后,调用
 callback("BBB")
  
},


//调用C ,等待执行完B再去执行A
funcC(){

  //先执行完毕B
  this.funcB(function(res){
      //此时res的值就是  BBB
      //再去执行A
      this.funcA()
  })
  
},

 

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值