首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么babel将异步函数转换为节点8.10的生成器?

为什么babel将异步函数转换为节点8.10的生成器?
EN

Stack Overflow用户
提问于 2018-09-22 05:13:58
回答 1查看 353关注 0票数 0

如果节点8.10支持异步/等待,为什么babel将异步函数转换为生成器?

巴贝尔翻译:

代码语言:javascript
复制
const foo = async () => {
  const b = await bar()
  console.log(b)
}

转入:

代码语言:javascript
复制
const foo = (() => {
  var _ref2 = (0, _asyncToGenerator3.default)(function* () {
    const b = yield bar();
    console.log(b);
  });

  return function foo() {
    return _ref2.apply(this, arguments);
  };
})()

这是我的babel配置:

代码语言:javascript
复制
  "babel": {
    "plugins": [
      "source-map-support",
      "transform-runtime"
    ],
    "presets": [
      [
        "env",
        {
          "targets": {
            "node": "8.10"
          }
        }
      ],
      "stage-3"
    ]
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-22 18:09:22

通过启用"stage-3",您选择了编译异步函数。基于配置,env预置正在忽略它们,但是stage-3再次选择返回。这就是为什么我们在Babel7.x中完全使用放弃舞台-X预置的原因,因为它们很难理解,而且您很少知道它们到底在做什么。

我的建议是删除stage-3预置,如果其中有你真正想要的插件,根据具体情况添加它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52453691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档