Node.js 等待(…of…)不起作用。巴别塔当前环境,节点v10

Node.js 等待(…of…)不起作用。巴别塔当前环境,节点v10,node.js,async-await,babeljs,babel-node,Node.js,Async Await,Babeljs,Babel Node,我已经有一段时间没有从头开始一个nodejs项目了,所以我是一个负责设置和配置eslint、babel等的headscratcher 现在我的LRC是: { "presets": [ [ "env", { "targets": { "node": "10" } } ] ], "plugins": [ [ "transform-runtime", {

我已经有一段时间没有从头开始一个nodejs项目了,所以我是一个负责设置和配置eslint、babel等的headscratcher

现在我的LRC是:

{
  "presets": [
    [
      "env",
      {
        "targets": {
          "node": "10"
        }
      }
    ]
  ],
  "plugins": [
    [
      "transform-runtime",
      {
        "regenerator": true
      }
    ]
  ]
}
package.json
具有开发依赖项:

"babel-cli": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
现在我想在对象列表上循环。对于每一个,我都需要执行一些异步任务,我需要等待这些任务,所以我做了:

等待的
(const thing of things){
const foo=等待某件事
//等
}
但是当我在dev中运行它时(nodemon通过babel节点),现在在wait上出现了一个语法错误:

for await (const thing of things) {
    ^
Syntax Error Unexpected token, expected (
    at Parser.pp$5.raise (... \node_modules\babylon\lib\index.js:4454:13)
    at Parser.pp.unexpected (... \node_modules\babylon\lib\index.js:1761:8)
    at Parser.pp.expect (... \node_modules\babylon\lib\index.js:1749:33)
    at Parser.pp$1.parseForStatement (... \node_modules\babylon\lib\index.js:2008:8)
etc..

我是否必须更改我的babel配置,和/或我是否完全误解了/await和await/async?

我相信您需要该插件来使用for await of语法。

我发现了另一个项目,其中我知道
for await of
有效。。。看起来我使用的是旧的babel插件,而不是新的分开的
@babel/xxx
libs。在反复安装和卸载stuff之后:这就是成功的babelrc:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "10"
        }
      }
    ]
  ],
  "plugins": [
    [
      "@babel/plugin-transform-runtime",
      {
        "regenerator": true
      },
      "@babel/preset-env"
    ]
  ]
}
至此,我已安装了所有:

  • @巴别塔/核心
  • @巴别塔/节点
  • @巴贝尔/cli
  • @巴别塔/预设环境
  • @babel/插件转换运行时
然后我遇到了这个问题:
因此,我们还必须安装@babel/runtime,安装版本为7.0.0-beta.55。。。现在它已经建立起来了

现在尝试一下。。。会回来报到的!:)哎呀。我唯一能想到的另一个问题是,你能告诉我们什么命令
node-v
print out吗?@jfriend00 thx以获取评论。它不会在顶层,而是在一个异步func中;这只是为了演示它不是我的确切代码。最终,
东西
也将成为异步的,所以我知道我将不得不使用for await of nother。我的主要问题是如何编译它,这已经解决了。稍后将掌握语法和适用性。。。