做Vue项目把请求接口都封装成了方法,有一个逻辑就是在一个接口中传入另一个接口的返回值作为参数。

众所周知 接口发送ajax是异步请求,需要另一个请求的返回值就得把这两个请求改为同步

所以我在这里用的是callback()

代码如下

methods:{
	GetGetCaseDetail(case_id, callback) {
	   getCaseDetail(case_id).then(json => {//封装的请求
   			//.....请求成功之后
    		callback();
  	 	});
	}
	GetGetCheckDetail(uuid) {
   		getCheckDetail(uuid).then(json => {
     	//....请求成功
   		});
	}
}


mounted(){
 this.GetGetCaseDetail(id, function() {
      _this.GetGetCheckDetail(_this.activeName);
    });
}

这样就可以在GetGetCheckDetail里面用GetGetCaseDetail的返回值作为参数

经过后面我发现存在一个问题,如果再回调一个问题不大,回调多个就会遇到回调地狱的问题了,所以多个还是用promise

Logo

前往低代码交流专区

更多推荐