问题标签 [promise.all]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
134 浏览

javascript - 获取多个 url 然后相应地设置状态 React Native

我正在尝试获取多个 .png 图像,然后相应地设置我的状态。我已经设法在不使用 Promise.all 的情况下异步获取所有 url;然而,随后的 setstate 函数在 promise 解决之前被执行。因此,我将代码更改为 include promise.all,但似乎我没有正确使用该函数。我收到错误“未定义不是函数(靠近'...podexData.map...')”。有谁知道发生了什么?

在此处输入图像描述

0 投票
1 回答
68 浏览

javascript - 循环内的 Javascript Promise.all()

我试图在循环内进行两次 Web API 调用,然后等到 webAPI 返回,然后再将返回的值作为子数组推送到更大的数组中。这是我的代码:

在 Promise 中调用的 googlePlace 函数:

我期待 console.log('latlong should print after this') 在打印 latlngPairs 之前打印出来。因为顺序相反,所以 latlngPairs 填充有未定义值的子数组。输出类似于:

需要明确的是,我想要实现的顺序是'latlong 应该在此之后打印'然后'[[obj,obj],[obj,obj]]。我想我一定对 promise.all 的工作方式有一些基本的误解,任何帮助都将不胜感激!

0 投票
1 回答
141 浏览

javascript - Promise 包装在 catch 子句中并在 Promise.all 中等待

  1. 承诺的文档状态.catch()返回一个承诺。这是否意味着如果您在代码中返回一个 Promise,它将被包装在 .catch 的另一个 Promise 中?

IE

上述以“test”值解析的承诺是否会被包装在 .catch 的另一个承诺中?据我了解,这就是异步函数中发生的情况;他们将任何结果都包装在“幕后”的承诺中。这可能导致双重承诺,这是否也发生在这里?

  1. 如果将上面变量 x 中的承诺放入现有数组并传递给Promise.all(),那么什么会构成被解析?在 Promise.all 解决之前,catch 块和内部函数是否必须完成?如果是这样,为什么会这样?为什么 Promise.all 不会在第一个 Promise.reject() 执行后立即解决?它怎么知道等待?
0 投票
1 回答
25 浏览

reactjs - 拒绝 Promise.all

我有一个 aysnc 函数,它获取数据并返回Promise.allie的值

我这样称呼这个函数:

但它永远不会被捕获。为什么是这样?如果所有的承诺都没有解决,我如何让它拒绝?

谢谢

0 投票
1 回答
783 浏览

javascript - 获取 .json 不是 Promise.all w/fetch 上的功能

哦,我又一次遇到了那些 Promise.all blues :( 我有一个函数,它从提供的 url 中创建一个 fetch 调用数组,然后我们想通过 Promise.all 检索数据并返回响应数组,或者更好的是只返回 promise调用函数。问题是这会导致控制台显示错误:

该函数的代码是:

并且在 Vue 组件中

显然 LeagueLeadersResponseArray 是未定义的。我研究了 .json() 并没有看到我是如何错误地使用它的。起初我以为我需要一个 Promise.all 包装器,用于responses.map((r) => r.json()) 但这也没有好处。我查看了这个链接,但我没有像他一样使用 fetch 。非常感谢任何指导....

更新了其他人的工作代码:

0 投票
3 回答
136 浏览

javascript - 如何将 JS 承诺转换为另一个对象

所以我有一个需要多次调用的异步函数。当然,我想使用 Promise.all

好的,没问题,但我怎么知道哪个 id 与哪个结果?当然我可以再次遍历这两个数组,但是还有另一种方法吗?有没有一种方法可以创建一个承诺,当解决后会给我一个包含 id 和 result 的对象?

谢谢!

0 投票
3 回答
472 浏览

javascript - 获取数组中的每个项目

所以我很确定这与Promise.all或类似的事情有关,但我不知道该怎么做。如果有人可以帮助我解决此代码,将不胜感激。

注意:如果重要的话,我要映射的数组是一个对象数组

我什至无法启动此代码,但我不确定我应该做什么......

这是我在 Visual Studio 代码中的错误。

0 投票
2 回答
51 浏览

javascript - 将 promise.all 中的值添加到数组

我正在使用 Promise.all 调用多个 api 调用并且能够接收它们的响应,但我想将它们添加到数组中

我的代码

我能够记录来自 的响应console.log(values);,但这些没有被推送responseDetails

0 投票
3 回答
472 浏览

javascript - promises.push() 立即运行,不等待 promises.all()

我有一个 nodejs 函数processReviews(workflow),当被调用时,它应该将多个承诺推送到一个数组,然后在 for 循环promises[]之后运行它们。promises.all()

但是当我运行我的代码时,输​​出如下所示:

这意味着每次我向我的 promises[] 数组 ( promises.push( await examplePromiseFunc() )) 推送一个 promise 时,该函数examplePromiseFunc()都会立即被调用并且不会等待。

我希望我的函数只在我await Promise.all(promises)最后运行时被调用,有什么我遗漏的吗?我的异步函数会导致问题吗?我一直在阅读 javascript promises.all ,这似乎是一个很好的实现。

0 投票
4 回答
581 浏览

javascript - 从 API 获取结果返回未定义

我正在尝试从 API 获取数据,但结果一直未定义。我正在使用 promise.all 链接 API 调用,然后链接 promise 以对数据执行其他操作。我似乎无法将我的结果传递给州。

这是有问题的代码: