当前位置: 首页 > 知识库问答 >
问题:

Javascript两个api调用

柴增
2023-03-14

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

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

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

共有1个答案

桓嘉谊
2023-03-14

您可以将promise与promise分组。所有,例如:

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

 类似资料:
  • 我有两个api调用,我需要根据第一个api调用结果获取第二个api调用结果,之后我需要合并两个api调用响应,让我写在这里 > Api调用:https://localhost:8080/projects这是第一次api调用 [ { 第二个 api 调用在 (http://localhost:8080/2) http://localhost:8080/projectId 此结果,如下所示 [ 现在我

  • 第一个问题,这个为什么先输出3后输出2呢 第二个问题,这个为什么会交错输出呢,142536 promise小白一枚,上述两个疑问,希望能得到详细的解答

  • 我有后端应用程序写在java ee和泽西。当我使用JavaScript Fetch API将数据发送到restendpoint时,我看到过滤器被激发了两次。一旦它没有授权头,第二个它有。当我尝试从web浏览器打开我的网站时,这个过滤器只被调用一次。为什么会发生这种事。也许是因为CORS? 下面我的日志从单一的帖子,两个打印从同一个过滤器。 第二次通话

  • 问题内容: 有人可以建议一种使用JavaScript 比较 两个 大于,小于和过去的 日期 的值的方法吗?这些值将来自文本框。 问题答案: 该Date对象会做你想要的东西- 构造一个每个日期,然后用它们进行比较,,或。 在,,,和运营商要求使用作为 要清楚的是,仅直接检查日期对象是否相等将不起作用 我建议您使用下拉列表或日期输入的某些类似约束形式,而不要使用文本框,以免您陷入输入验证的困境。

  • 我有两个(或更多)

  • 我有一个简单的javascript问题,我真的需要一些帮助!我正在尝试弄清楚如何在数组之间比较元素,以及在下一个循环中再次比较较大的元素。假设我们有数组A和数组B。 我的问题是,在比较索引处的元素之后,我希望在下一个循环周期中比较较大的元素。 如果A=[5,7,4],B=[2,8,5] 在第一个循环中,5与2进行比较,2较小,因此会发生一些事情。在下一个循环周期中,我希望5与8进行比较,而对于现在