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()
  })
  
},

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐