问题标签 [es6-promise]

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 投票
2 回答
1979 浏览

javascript - 使用带有 babel 和 ES6 承诺的异步等待时无法解决承诺

我有以下包含异步功能的节点应用程序,等待 ES6 承诺。

结果 = val:未定义

预期结果:val:1

我使用 gulp-babel 将其编译为 ES5。

我在 gulp 任务中有以下设置:

在 npm 安装 babel 之后,我还需要在 'babel/polyfill' 中。

转译代码:

0 投票
7 回答
100038 浏览

javascript - 为什么我不能在 Promise.catch 处理程序中抛出?

为什么我不能Error在 catch 回调中抛出一个并让进程处理错误,就好像它在任何其他范围内一样?

如果我不做console.log(err)任何事情都会被打印出来,我对发生的事情一无所知。过程刚刚结束...

例子:

如果回调在主线程中执行,为什么Error会被黑洞吞噬?

0 投票
2 回答
3267 浏览

javascript - 与蓝鸟的承诺链阵列

我以自己的方式履行承诺,但我坚持使用我的用例。我有一组转换器函数(每个函数都是一个承诺并修改一些 JSON 结构)。

让我展示一些代码。

假设这是我的 JSON 结构(数组)

transformFunction是以某种方式修改数据的变换函数的定义。这两个函数将cd属性添加到上述 JSON 结构中:

来自 UI 用户的 指定他应该使用哪些转换器功能以及以什么顺序使用。假设他选择了这样的正常顺序:

方法应该修改数据,transform1结果应该传递给transform2方法。

我在看:Promise.all但它似乎不关心承诺的顺序,最重要的是它需要将先前的结果传递给下一个承诺。

0 投票
1 回答
552 浏览

javascript - .finally 在 ES6 规范中吗?

许多 Promise 库,如 Q 或 Bluebird,实现了一个.finally在成功和错误时触发的方法。

这个方法是否也出现在 ES6 承诺中?我找不到它。似乎不存在于 Babel (6to5)。

任何帮助澄清这一点都非常感谢!

谢谢

0 投票
1 回答
59 浏览

javascript - 承诺不能解决正确的价值

我不知道我怎么不能返回最终值,它在最后一个范围内被清空。如何/为什么?

0 投票
1 回答
1437 浏览

javascript - Nodejs Promise.all() 总是解决

我是新的承诺。我正在尝试 ping 一些机器以检查它们是否处于活动状态。我正在使用本机 NodeJS 承诺。我的ping功能:

现在,我有从 JSON 读取的数组中机器的详细信息:

现在即使某个节点关闭,它也不会拒绝:

0 投票
1 回答
1670 浏览

javascript - 承诺 - 找不到变量过程

对于我的(第一个)react-native 项目,我使用 Node 模块 react-native-refreshable-listview 需要 CommonJS/A+ 承诺方法来显示指标。但是,每次消费者调用 promise 的then方法时(例如this.doSomething().then(function() { ... })),我都会收到以下错误:

我已经阅读了这个问题,但我无法解决这个问题。虽然该组件ControlledListView可用于规避此错误,但我非常喜欢 Promise 概念,并计划在我的应用程序中使用更多。

我正在使用 react-native 版本 0.6.0 rc1 以及 iOS 8.3。

我很感激任何帮助。提前致谢!

0 投票
1 回答
1348 浏览

javascript - 使用 ES6 Promise 的递归树遍历

我正在寻找一个未知深度的对象树并通过 ES6 承诺返回给定节点。(我意识到这里使用了 lodash,显然没有必要)。我的树走得很好,但我有点不清楚确保顶级作用域变量promise传递给递归函数调用的正确方法,以便在调用.resolve( data ). 现在它尝试在成功的查找上执行,但由于递归函数已被新的 Promise 覆盖并且无法在链中冒泡,因此无法解决 Promise:

这是我正在走的树,以防万一:

0 投票
2 回答
5430 浏览

javascript - 如何在 JavaScript es6 中代理 Promise

我正在尝试在本机 Firefox 中代理 Promise(并使用 Babel)。

这不起作用,我在未实现接口 Promise 的对象上调用了“TypeError:'then'。”

0 投票
14 回答
128268 浏览

javascript - Is Node.js native Promise.all processing in parallel or sequentially?

I would like to clarify this point, as the documentation is not too clear about it;

Q1: Is Promise.all(iterable) processing all promises sequentially or in parallel? Or, more specifically, is it the equivalent of running chained promises like

or is it some other kind of algorithm where all p1, p2, p3, p4, p5, etc. are being called at the same time (in parallel) and results are returned as soon as all resolve (or one rejects)?

Q2: If Promise.all runs in parallel, is there a convenient way to run an iterable sequencially?

Note: I don't want to use Q, or Bluebird, but all native ES6 specs.