你需要的就是await和async了。
你可以写成这样:
/**
* 在页面上点击按钮调用的方法
*/
function buttonClick(){
callBackend()
.then((result)=>{alert("调用成功,结果为:" + result)})
.finally((e)=>{alert("调用失败,因为:" + e)})
}
/**
* 调用后端接口
* @returns {Promise}
*/
async function callBackend() {
let response1 = await fetch("/api1");
// 对返回结果做一些判断
// if (response1.data.xxx=== xxx){}
let response2 = await fetch("/api2");
// 对返回结果做一些判断
// if (response2.data.xxx=== xxx){}
let response3 = await fetch("/api3");
// 对返回结果做一些判断
// if (response3.data.xxx=== xxx){}
// 假设条件不通过,后面不执行了
if (response3.data.xxx) {
throw "条件不足";
}
let response4 = await fetch("/api4");
// 对返回结果做一些判断
// if (response4.data.xxx=== xxx){}
// 要返回的处理结果
return response4.data.message;
}
这就是es6的魅力所在啦。
更多资料你可以搜索关键字:“await/async、fetch”