【发布时间】:2020-02-16 05:08:21
【问题描述】:
基本上我想调用一个API两次,将两个响应组成一个数组[res1,res2],然后对这个数组进行操作。我的代码是这样的:
function f() {
apiCall1(params1)
.then(response1 => [response1, apiCall2(params2)])
.then(data => someFunction(data))
}
很遗憾,这种方法不起作用。我得到 data[0] 和 data[1] 的未定义属性。但是,如果我只进行一次 API 调用,一切正常。我想知道我的语法是否错误,以及实现它的好方法是什么?谢谢。
【问题讨论】:
-
它们必须按顺序排列吗?如果没有,请使用
Promise.all([api1(), api2()]).then(([res1, res2]) => {...})。否则,请尝试async–await语法。 -
谢谢! Promise.all 确实是我的解决方案。 :)
标签: javascript api