vue中的两个方法同步执行

  • Post author:
  • Post category:vue


默认来说,当我们在方法中调用接口,方法就会变成异步,但有时我们需要它是同步的(先执行前一个方法,等前一个方法执行完成再执行之后的方法)


如何做呢?


我们可以利用async/await修饰符

async修饰函数返回的是一个Promise对象,可以使用then函数添加回调函数

await修饰的如果是Promise对象:可以获取Promise中返回的内容(resolve或reject的参数),且取到值后语句才会往下执行;

在方法名前加async,在接口方法名前加await,像这样

    // 获取市下拉框数据
    async getCityList() {
        await api.get(`/vipCategoryArea/getCityList`).then(r => {
          this.citys = r.data
        })
    },

    // 获取问题区(县)数据
    getDistrictList(){
		api.get(`/vipCategoryArea/getDistrictList/${this.temp.cityId}`).then(r => {
          this.districts = r.data
        })
    }


这样调用

   var that = this
   // 回显市、区(县)
   this.getCityList().then(function(){
     that.getDistrictList()
   })


————————————————

原文链接:https://blog.csdn.net/weixin_42475367/article/details/122440448