问题标签 [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 - 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?
typescript - Object.entries() 和 Object.values() 在 WebStorm/PhpStorm 中没有被键入为数组
我有带有 ES6 目标的 TypeScript 项目,它用于core-js
填充 ES2017 功能,并相应地配置了 tsconfig.json。
使用Object.entries(...)
和Object.values(...)
时,结果没有数组方法和属性(map
、forEach
、length
等),它们在 IDE 中显示为普通对象,因此any[]
应显式转换类型:
虽然Object.keys(...)
表现得像它应该的那样。
同时 IDE 以某种方式“知道” and 的正确类型Object.entries
,Object.values
它们按照 TypeScriptlib.es2017.object.d.ts
在 Ctrl+Shift+P 上的显示。但它似乎忽略了检查的类型,因为ObjectConstructor
在当前文件中覆盖可以解决问题:
tsc
打字似乎很好,所以它看起来像 IDE 特定的问题。
仅当未选中Use TypeScript service
in时才会发生这种情况。Languages & Frameworks > TypeScript
启用 TypeScript 服务后一切正常(故意禁用,因为之前 TS 服务出现问题)。
这是 tsconfig.json:
这是什么意思?我的设置在某个地方出错了吗?
TypeScript 2.1.5 和最新的 IDE (EAP 2017.1) 仍然存在此问题。
javascript - request-promise 在使用 await 时抛出 Unexpected identifier 错误
以这个简单的 GitHub API 请求为例:
特别是requestPromise()
我使用await
. 在 Node.js 7.5.0 中运行它时,我得到:
如果我这样做,而不调用单独的承诺,它可以工作:
我可以用 ES5 的方式做到这一点:
但是当我调用一个单独的 promise 函数时,它不起作用。我怎样才能让它工作?
javascript - JavaScript 默认等待而不是手动等待
Async/await 真的很方便,但我想要他们的行为相反。除非我手动要求它们等待承诺,否则其他函数不会继续运行,而是希望函数产生,除非我手动指定它们继续并行运行。
例如,此代码将打印出1 3 2
:
我希望它打印出来1 2 3
,a()
直到我等了 5 秒并且打印了 2 才真正返回功能。我正在做一个我更喜欢轻量级的扩展,所以我宁愿不使用 3rd 方库。
有没有办法做到这一点?
javascript - 异步等待 Jquery ajax 回调?
我正在尝试使用 来做到这一点async/await
,但任何解决方案都很好。任何人都知道我可以如何改变这一点:
.detach()
直到最后一个完成后才运行.insertBefore()
?
javascript - 现在使用 async/await 安全吗?
现在在 Javascript 中使用 async-await 而不是 generators-promises 是否安全,知道语法尚未制定并将随着 ES8 的发布而出现?
我可以指望哪些浏览器可用,以及这种语法不可用的浏览器有多常见?安全我的意思是没有像 babel 这样的编译器?
javascript - 在方法子异步函数中反应“this”未定义
我有一个组件,我在其中定义了 handleClick (onClick 处理程序),我想调用 Async 函数。下面是我所做的代码,我的问题:为什么在 Async function() 调用中无法访问“this”?
javascript - ES 2017:异步函数 vs AsyncFunction(object) vs 异步函数表达式
我刚刚阅读async functions
并遇到了 ES2017 的一些类似功能。它造成了很多混乱,我只想问:
async function
,AsyncFunction
(用于创建异步函数)和异步函数表达式(我认为这只是另一个异步函数)之间有什么区别?- 我什么时候应该使用一种格式而不是另一种格式?
将不胜感激每个人的怪癖和表现的亮点!
javascript - 异步函数永远不会返回
我正在使用 Node 版本 7.6.0 来试用本机 async 和 await 功能。
我试图弄清楚为什么我的异步调用只是挂起从未真正解决。
自然语言处理模块:
模块消费者:
我无法让代码继续执行以下行:
我可以看到在 NLP 模块中查询成功了
javascript - 在 es2017 中,从异步方法访问时未定义“this”
从异步方法调用时如何引用类实例。
这=未定义