问题标签 [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.
javascript - 使用带有 babel 和 ES6 承诺的异步等待时无法解决承诺
我有以下包含异步功能的节点应用程序,等待 ES6 承诺。
结果 = val:未定义
预期结果:val:1
我使用 gulp-babel 将其编译为 ES5。
我在 gulp 任务中有以下设置:
在 npm 安装 babel 之后,我还需要在 'babel/polyfill' 中。
转译代码:
javascript - 为什么我不能在 Promise.catch 处理程序中抛出?
为什么我不能Error
在 catch 回调中抛出一个并让进程处理错误,就好像它在任何其他范围内一样?
如果我不做console.log(err)
任何事情都会被打印出来,我对发生的事情一无所知。过程刚刚结束...
例子:
如果回调在主线程中执行,为什么Error
会被黑洞吞噬?
javascript - 与蓝鸟的承诺链阵列
我以自己的方式履行承诺,但我坚持使用我的用例。我有一组转换器函数(每个函数都是一个承诺并修改一些 JSON 结构)。
让我展示一些代码。
假设这是我的 JSON 结构(数组)
transformFunction
是以某种方式修改数据的变换函数的定义。这两个函数将c
和d
属性添加到上述 JSON 结构中:
来自 UI 用户的 指定他应该使用哪些转换器功能以及以什么顺序使用。假设他选择了这样的正常顺序:
方法应该修改数据,transform1
结果应该传递给transform2
方法。
我在看:Promise.all
但它似乎不关心承诺的顺序,最重要的是它需要将先前的结果传递给下一个承诺。
javascript - .finally 在 ES6 规范中吗?
许多 Promise 库,如 Q 或 Bluebird,实现了一个.finally
在成功和错误时触发的方法。
这个方法是否也出现在 ES6 承诺中?我找不到它。似乎不存在于 Babel (6to5)。
任何帮助澄清这一点都非常感谢!
谢谢
javascript - 承诺不能解决正确的价值
我不知道我怎么不能返回最终值,它在最后一个范围内被清空。如何/为什么?
javascript - Nodejs Promise.all() 总是解决
我是新的承诺。我正在尝试 ping 一些机器以检查它们是否处于活动状态。我正在使用本机 NodeJS 承诺。我的ping功能:
现在,我有从 JSON 读取的数组中机器的详细信息:
现在即使某个节点关闭,它也不会拒绝:
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。
我很感激任何帮助。提前致谢!
javascript - 使用 ES6 Promise 的递归树遍历
我正在寻找一个未知深度的对象树并通过 ES6 承诺返回给定节点。(我意识到这里使用了 lodash,显然没有必要)。我的树走得很好,但我有点不清楚确保顶级作用域变量promise
传递给递归函数调用的正确方法,以便在调用.resolve( data )
. 现在它尝试在成功的查找上执行,但由于递归函数已被新的 Promise 覆盖并且无法在链中冒泡,因此无法解决 Promise:
这是我正在走的树,以防万一:
javascript - 如何在 JavaScript es6 中代理 Promise
我正在尝试在本机 Firefox 中代理 Promise(并使用 Babel)。
这不起作用,我在未实现接口 Promise 的对象上调用了“TypeError:'then'。”
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.