js两个接口如何一个调用完再调用另一个
时间: 2023-12-30 13:04:09 浏览: 45
你可以使用 JavaScript 中的 Promise 或 async/await 来解决这个问题。下面给出 Promise 的实现示例:
```javascript
function api1() {
// 返回一个 Promise 对象
return new Promise((resolve, reject) => {
// API 1 的具体实现
// 成功时调用 resolve,失败时调用 reject
// resolve('API 1 response');
reject('API 1 error');
});
}
function api2() {
// 返回一个 Promise 对象
return new Promise((resolve, reject) => {
// API 2 的具体实现
// 成功时调用 resolve,失败时调用 reject
resolve('API 2 response');
});
}
api1()
.then(api2)
.then(response => {
console.log(response); // 打印 'API 2 response'
})
.catch(error => {
console.error(error); // 打印 'API 1 error'
});
```
这段代码中,我们首先定义了两个函数 `api1` 和 `api2`,它们分别返回一个 Promise 对象。然后我们通过调用 `api1()` 来获取 API 1 的响应,并且在 `then` 方法中嵌套调用 `api2()` 来获取 API 2 的响应。最后使用 `catch` 方法来处理异常情况。
在 `then` 方法中嵌套调用另一个异步函数就是 Promise 链式调用的体现。如果前一个 Promise 对象成功了,就会自动调用后一个 Promise 对象;如果失败了,就会直接跳到 `catch` 方法中。
阅读全文