Javascript 两个 API 调用



基本上我想调用一个 API 两次,对两个响应创建一个数组 [res1, res2],然后对这个数组进行操作。我的代码是这样的:

function f() {
apiCall1(params1)
.then(response1 => [response1, apiCall2(params2)])
.then(data => someFunction(data))
}

不幸的是,这种方法不起作用。我得到了数据[0]和数据[1]的未定义属性。但是,如果我只进行一次 API 调用,一切正常。我想知道我的语法是否错误,以及实现这一点的好方法是什么?谢谢。

您可以将承诺与Promise.all分组,例如:

function f() {
Promise.all([apiCall1(params1), apiCall2(params2)])
.then(data => {
const response1 = data[0];
const response2 = data[1];
})
}

参看 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

最新更新