问题标签 [ecmascript-2017]
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 - 链式异步函数
在异步函数中,我可以得到一个异步值,如下所示:
const foo = await myAsyncFunction()
如果我想在结果上调用一个方法,使用同步功能,我会做类似的事情myAsyncFunction().somethingElse()
是否可以使用异步函数链接调用,还是必须为每个结果分配一个新变量?
javascript - 在 setTimeout 中使用异步是否有效?
我在 Javascript 中有一个异步函数,并在其中添加了 setTimeout。代码如下所示:
setTimeout 的目的是在函数运行前增加 2 秒。这是为了确保用户停止打字。
我现在应该从这个函数中删除 async/await 吗,因为 setTimeout 无论如何都是异步的?
javascript - 如何同步 Promise 对象?
我有需要同步工作的承诺对象。例如,在第一个承诺完成之前,第二个承诺不应该起作用。如果第一个拒绝第一个必须再次执行。
我已经实现了一些示例。这个效果很好。调用getVal,等待2000ms,返回,i++,再次调用getVal .....
但我需要控制一系列承诺对象。我想要做的是我有一个数据,我把它分成了5块。处理好第一部分(例如:发送到服务器)后,我想处理第二部分,否则我必须再次处理第一部分。
这是我做的原型实现
此代码中的 Promise 对象按顺序工作。我如何修复下面的代码,以便它作为第一个示例同步工作。
javascript - forEach 中的异步等待
我有以下按预期工作的功能:
我想重构它以使用 async await 并在 forEach 的主体中调用一个异步函数,如下所示:
这显然会破坏函数,因为 forEach 现在正在异步执行,函数只会执行并离开。
有没有办法可以使用异步等待 forEach 以同步方式执行。我可以重构生成器吗?
javascript - React-Native:无法将 babel 更新到 ES7
我正在尝试使用新的 ES7 功能 async/await,但据我在我的 react-native node_modules 中看到的,我没有它们。
我有 react-native 版本 0.31,我刚刚更新到 0.32,我可以看到 babel 仍然没有更新 ES7 功能,所以我不能使用 async/await。你知道我怎样才能让它工作吗?
javascript - Async / Await JS Catch 在 try/catch 中不起作用
我在下面有一点 javascript。在我们的 ES6 项目中使用 async/await。我注意到现在突然之间没有 404 响应代码。事实上 .json() 也抛出了一个控制台错误,但仍然没有抓住问题。我希望尝试中的任何错误都会立即抛出并转到代码的 catch 块。
javascript - 返回一个等待的值返回一个 Promise? (es7 异步/等待)
它记录Promise { <pending> }
;为什么它返回一个 Promise 而不是'somestring'
?
我正在使用 Babel ES7 预设来编译它。
javascript - eslint await 期望一个赋值或函数调用,而是看到一个表达式
当我放置此代码以保证不需要继续执行结果时:
我收到了这个 eslint 错误:
[eslint] 期望一个赋值或函数调用,而是看到一个表达式。(没有未使用的表达式)
如果代码是这样的:
那么eslint错误是:
[eslint] 'dummy' 已定义但从未使用过(no-unused-vars)
任何人都知道应该如何解决这个问题(我知道我可以做到// eslint-disable-line no-unused-expressions
,但我正在寻找这个语句是否有更好的语法。
javascript - co和await的区别
我不太了解这段代码之间的区别:
还有这个:
在浏览器或服务器(node.js)中使用的每个代码的优点/缺点(主要在性能、可读性和流量控制方面)是什么?为什么应该使用 co (取决于co 外部库)或 await (这是还不是 ES7 的一部分,并且依赖于babel-polyfill)被使用。