背景:一个方法里面调接口获取结果(方法里面有异步请求),这个方法好几个地方使用,有的地方需要获取函数内部状态然后做判断根据函数状态再做下一步逻辑,有的地方不需要获取函数内部状态
解决思路:获取一个函数内部的状态 就传一个回调函数作为参数就可以了
callback=()=>{}
获取函数内部的状态 可以直接让这个函数返回 但是如果这个函数是个异步请求的函数 就得 传给这个函数一个参数是回调函数 在异步函数的合适位置调用这个函数就可以吧参数传递出来了
同步函数:直接返回即可 return true或者false
使用:const result= this.add()
异步函数:
项目中的使用如下:初始方法
submitEdit(callback=()=>{}){
// console.log(this.form)
discern(this.form)
.then((res) => {
if(res.status==200){
callback(true)
}
})
.catch(() => {
// 保存失败
callback(false)
});
},
调用的地方
onClick_test(e) {
this.submitEdit((result)=>{
if(result){
this.uploadDialog.visible = true;
}else{
this.uploadDialog.visible = false;
}
})
}
},