默认来说,当我们在方法中调用接口,方法就会变成异步,但有时我们需要它是同步的(先执行前一个方法,等前一个方法执行完成再执行之后的方法)
如何做呢?
我们可以利用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