gpt4 book ai didi

node.js - NodeJS 5.x + Babel 6 异步/等待调试

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:25 24 4
gpt4 key购买 nike

当我尝试使用 transform-async-to-generator babel 插件(尽管我已经尝试了几乎所有其他组合)通过 async/await 调试代码时,我的调试体验参差不齐。

本质上,带有 await 的代码会跳到方法的末尾,然后进入编译代码。 video

export class Cat {
async meow(){
let p = await this.bat(); // <<<< this line runs
this.fart(); // <<<< then skips this line
return p; // <<<< and goes to this line ( always last line in fn )
}
}

如果您查看为该函数生成的代码:

meow() {
var _this = this;

return _asyncToGenerator(function* () {
let p = yield _this.bat();
_this.fart();
return p;
})();
}

关于结果并不奇怪,但 source maps 应该处理这个,对吧?

我尝试过各种设置(需要 hook/babel-node/babel cli/gulp babel)并遇到同样的问题。我正在使用:Node 5.3.0 和 Babel 6.3

我在 github 上创建了一个演示项目.我还在 babel thread 上发布了问题.

编辑:这个问题是针对 source-maps 项目提出的,因为我不认为这是一个 babel 问题。该团队承认该问题是调试器问题。有关详细信息,请参阅:github issue

最佳答案

随着在 Node 4+ 中原生引入 async/await,这不再是问题。

关于node.js - NodeJS 5.x + Babel 6 异步/等待调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com