问题标签 [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 回答
450 浏览

javascript - 如何在 Javascript 中为 Promise.all 编写 Polyfill 时处理 setTimeout 情况

我正在尝试为 Promise.all 编写一个 polyfill,当我在没有 setTimeout 的情况下通过 Promise 时它工作正常,但是使用 setTimeout,我没有得到正确的结果,因为它在计时器到期之前解析并返回了 Promise。

如何处理这种情况以在以下函数中工作,与实际 Promise.all 的工作方式相同。

下面是我的代码片段和codesandbox的链接

实际结果:[undefined, "success 2", "success 3"]

预期结果:[“成功 1”、“成功 2”、“成功 3”]

https://codesandbox.io/s/fast-bush-6osdy?file=/src/index.js

0 投票
0 回答
44 浏览

javascript - 在 componentDidMount() 中存储来自多个 axios get 请求的响应数据

我在 componentdidmount 中使用 promise.all 从两个 api 获取 response.data。

有时 this.state.p1 和 this.state.p2 都返回正确的数据,但有时当我刷新我的页面时 this.state.p1 返回 this.state.p2 的数据并且 this.state.p2 变为空。

0 投票
1 回答
63 浏览

typescript - 如何从打字稿中的 promise.all 返回?

我有一个 url 列表,我需要获取所有这些,所以我使用了 fetch 然后 promise.all,但是,我不知道如何返回 promise 的结果。

为什么 list_of_photos 返回一个空列表,但是在函数内部打印 photos_info 时,它返回列表。

0 投票
0 回答
44 浏览

javascript - 试图衡量 promise.all 和单独的 fetch 调用之间的区别并得到奇怪的结果

在一个函数内部,我有两个代码块,我试图测量我的 api 调用的处理时间。这是代码:

在这种情况下,第一个 console.log 平均显示 650-850 毫秒,第二个 - 仅 50-100 毫秒,但如果我交换这两个块,第一个(promise.all)将平均为 500-700 毫秒,第二个 100- 250 毫秒。我在这里想念什么?(可能很多)如果有人能解释这些结果,我将不胜感激。

0 投票
1 回答
63 浏览

javascript - Javascript Promise.all 来自获取多个未在 React Native FlatList 中呈现的 api

我正在使用 Promise.all 来获取多个 api。

当 console.log(results) 时,我从 apis 获取所有对象数组

问题是当我创建一个 FlatList 时,我没有在屏幕上呈现任何东西(空白)

}

导出默认 ListScreen;

我究竟做错了什么?

请帮忙。:(

0 投票
2 回答
233 浏览

javascript - 我可以在 Promise.all() 中有多个 .finally() 和多个 .catch() 吗?

我想我只在网络上看到了结尾有一个 .finally() 的示例 [1]:https ://i.stack.imgur.com/HeQV8.png

0 投票
2 回答
47 浏览

javascript - 发出 Promise.all()

我想声明一组空承诺
然后手动解决它们,但它不起作用?

不想这样做:

0 投票
2 回答
28 浏览

javascript - 这个语法是怎么回事?(let results = [], i;) 我从来没有见过分配给一个变量的两个值

我找到了这个如何实现 Promise.all 方法的例子。

我不确定这行代码发生了什么:let results = [], i;

当我在控制台中运行它时,我变得未定义。在所有函数中,他们正在执行 i++,但是在未定义的值上使用该运算符变成了 NaN。这里发生了什么?如果 'i' 未定义,他们如何将其用作数组的索引results[i] = res; // keep the current result

0 投票
2 回答
72 浏览

javascript - Promises:结合单个解析方法和 Promise.all()

我有多个承诺获取不同的资产。我想实现:

  1. 首先执行一些代码以通过then().
  2. 当一切都得到解决/获取时,执行一些通过Promise.all().then().

我需要确保在 2 之前执行 1。从我测试的结果来看,它似乎确实有效。

但我可以依赖它吗?“ singlethen() 总是在 a then()on之前执行Promise.all()吗?

0 投票
2 回答
71 浏览

axios - 如何使用 axios `fetch all()`

我不明白如何使用 axios 从 url 数组中获取数据。但我可以用fetch. 以下代码完美运行:

当我拨打类似的电话时index(["https://vimeo.com/216850224", "https://vimeo.com/642263700"]),我的控制台会显示一个数组,其中包含 vimeo 必须给我的所有视频元详细信息。太棒了。

但是当我注释掉使用fetch和使用的那一行时axios,我得到了一个CORS错误。

从axios中的一堆url中获取数据的惯用方法是什么?


编辑

我也试过这个,但这个.all()功能似乎不存在