问题标签 [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.

0 投票
2 回答
7268 浏览

javascript - Console.log doesn't work in async function

I'm trying to log a statement in an async function as follows:

Log statement doesn't show up though, and I'm sure it's because of the async function. Is that correct? Anyway to work around this?

0 投票
2 回答
5057 浏览

typescript - Object.entries() 和 Object.values() 在 WebStorm/PhpStorm 中没有被键入为数组

我有带有 ES6 目标的 TypeScript 项目,它用于core-js填充 ES2017 功能,并相应地配置了 tsconfig.json。

使用Object.entries(...)Object.values(...)时,结果没有数组方法和属性(mapforEachlength等),它们在 IDE 中显示为普通对象,因此any[]应显式转换类型:

虽然Object.keys(...)表现得像它应该的那样。

同时 IDE 以某种方式“知道” and 的正确类型Object.entriesObject.values它们按照 TypeScriptlib.es2017.object.d.ts在 Ctrl+Shift+P 上的显示。但它似乎忽略了检查的类型,因为ObjectConstructor在当前文件中覆盖可以解决问题:

tsc打字似乎很好,所以它看起来像 IDE 特定的问题。

仅当未选中Use TypeScript servicein时才会发生这种情况。Languages & Frameworks > TypeScript启用 TypeScript 服务后一切正常(故意禁用,因为之前 TS 服务出现问题)。

这是 tsconfig.json:

这是什么意思?我的设置在某个地方出错了吗?

TypeScript 2.1.5 和最新的 IDE (EAP 2017.1) 仍然存在此问题。

0 投票
1 回答
1845 浏览

javascript - request-promise 在使用 await 时抛出 Unexpected identifier 错误

以这个简单的 GitHub API 请求为例:

特别是requestPromise()我使用await. 在 Node.js 7.5.0 中运行它时,我得到:

如果我这样做,而不调用单独的承诺,它可以工作:

我可以用 ES5 的方式做到这一点:

但是当我调用一个单独的 promise 函数时,它不起作用。我怎样才能让它工作?

0 投票
1 回答
841 浏览

javascript - JavaScript 默认等待而不是手动等待

Async/await 真的很方便,但我想要他们的行为相反。除非我手动要求它们等待承诺,否则其他函数不会继续运行,而是希望函数产生,除非我手动指定它们继续并行运行。

例如,此代码将打印出1 3 2

我希望它打印出来1 2 3a()直到我等了 5 秒并且打印了 2 才真正返回功能。我正在做一个我更喜欢轻量级的扩展,所以我宁愿不使用 3rd 方库。

有没有办法做到这一点?

0 投票
1 回答
3864 浏览

javascript - 异步等待 Jquery ajax 回调?

我正在尝试使用 来做到这一点async/await,但任何解决方案都很好。任何人都知道我可以如何改变这一点:

.detach()直到最后一个完成后才运行.insertBefore()

0 投票
1 回答
37118 浏览

javascript - 现在使用 async/await 安全吗?

现在在 Javascript 中使用 async-await 而不是 generators-promises 是否安全,知道语法尚未制定并将随着 ES8 的发布而出现?

我可以指望哪些浏览器可用,以及这种语法不可用的浏览器有多常见?安全我的意思是没有像 babel 这样的编译器?

0 投票
1 回答
1314 浏览

javascript - 在方法子异步函数中反应“this”未定义

我有一个组件,我在其中定义了 handleClick (onClick 处理程序),我想调用 Async 函数。下面是我所做的代码,我的问题:为什么在 Async function() 调用中无法访问“this”?

0 投票
1 回答
1610 浏览

javascript - ES 2017:异步函数 vs AsyncFunction(object) vs 异步函数表达式

我刚刚阅读async functions并遇到了 ES2017 的一些类似功能。它造成了很多混乱,我只想问:

  1. async function, AsyncFunction(用于创建异步函数)和异步函数表达式(我认为这只是另一个异步函数)之间有什么区别?
  2. 我什么时候应该使用一种格式而不是另一种格式?

将不胜感激每个人的怪癖和表现的亮点!

0 投票
1 回答
8410 浏览

javascript - 异步函数永远不会返回

我正在使用 Node 版本 7.6.0 来试用本机 async 和 await 功能。

我试图弄清楚为什么我的异步调用只是挂起从未真正解决。

自然语言处理模块:

模块消费者:

我无法让代码继续执行以下行:

我可以看到在 NLP 模块中查询成功了

控制台日志输出

编辑:在响应正文中添加了 console.log 语句

实际 response.body 上的控制台输出

日志语句

0 投票
1 回答
2372 浏览

javascript - 在 es2017 中,从异步方法访问时未定义“this”

从异步方法调用时如何引用类实例。

这=未定义