解决方案

 getInfo() {
        var _this = this
        return new Promise((resolve, reject) => {
          this.getRList(function(res) {
            _this.regionList = res
            resolve(_this.regionList)
          })
        })
      },
      getInfo1() {
        var _this = this
        this.getInfo().then(val => {
          _this.getCList(function(res1) {
            _this.cityList = res1
            _this.privListdata = _this.resetPrivList(val, res1)
          })
        })
      },

理论基础

1.async/await使用方法

用Promise来实现。
Promise是ES6的新特性,用于处理异步操作逻辑,用过给Promise添加then和catch函数,处理成功和失败的情况
示例一:

function2(){
    return new Promise((resolve, reject) => {
      //你的逻辑代码
      resolve(/* 这里是需要返回的数据 */)
    });
 } 
function3(){
  return new Promise((resolve, reject) => {
    //你的逻辑代码
    resolve(/* 这里是需要返回的数据 */)
  });
} 

// 调用 
function1(){ 
  this.function2().then(val => {
    this.function3(); 
  }); 
}

val为resolve方法返回的数据


yujiao
23 声望6 粉丝