js有判断一个条件去调用A接口,如果不满足条件则不带A接口返回的参数调用B接口,如果满足条件则调用完成接口拿到值之后再调用B接口
时间: 2023-12-03 18:05:29 浏览: 53
两种接口的简单调用方法
可以使用 Promise 和条件判断来实现这个需求,示例代码如下:
```javascript
function callAPI(condition) {
return new Promise((resolve, reject) => {
if (condition) {
// 满足条件,调用接口 A
fetch('api A url')
.then(response => response.json())
.then(data => {
// 接口 A 返回成功,调用接口 B,并将接口 A 返回的参数作为参数传递给接口 B
fetch('api B url', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
resolve(data); // 返回接口 B 返回的参数
})
.catch(error => {
reject(error); // 返回接口 B 调用错误信息
});
})
.catch(error => {
reject(error); // 返回接口 A 调用错误信息
});
} else {
// 不满足条件,调用接口 B,不传递任何参数
fetch('api B url')
.then(response => response.json())
.then(data => {
resolve(data); // 返回接口 B 返回的参数
})
.catch(error => {
reject(error); // 返回接口 B 调用错误信息
});
}
});
}
// 调用示例
callAPI(true).then(data => {
// 如果满足条件,data 为接口 B 返回的参数
console.log(data);
}).catch(error => {
console.error(error);
});
callAPI(false).then(data => {
// 如果不满足条件,data 为接口 B 返回的参数
console.log(data);
}).catch(error => {
console.error(error);
});
```
在调用 `callAPI()` 函数时,传入的 `condition` 参数为判断条件,如果条件满足,则调用接口 A 并将接口 A 返回的参数作为参数传递给接口 B;如果条件不满足,则直接调用接口 B,不传递任何参数。通过 Promise 的方式,可以异步获取接口返回的参数,并且可以使用 `then()` 和 `catch()` 方法处理成功和失败的情况。
阅读全文