Node.js NodeJS 5.x+;Babel 6异步/等待调试
当我尝试使用Node.js NodeJS 5.x+;Babel 6异步/等待调试,node.js,babeljs,source-maps,ecmascript-2016,Node.js,Babeljs,Source Maps,Ecmascript 2016,当我尝试使用transform async to generatorbabel插件使用async/await调试代码时,我的调试体验参差不齐(尽管我几乎尝试了其他所有组合) 本质上,带有wait的代码将跳到方法的末尾,然后进入已编译的代码 关于结果也就不足为奇了,但是源地图应该处理这个问题,对吗 我已经尝试过各种设置(需要hook/babel节点/babel cli/gulp babel)并得到了相同的问题。我使用的是:Node5.3.0和Babel6.3 我已经在上创建了一个演示项目。我也把这
transform async to generator
babel插件使用async/await调试代码时,我的调试体验参差不齐(尽管我几乎尝试了其他所有组合)
本质上,带有wait的代码将跳到方法的末尾,然后进入已编译的代码
关于结果也就不足为奇了,但是源地图应该处理这个问题,对吗
我已经尝试过各种设置(需要hook/babel节点/babel cli/gulp babel)并得到了相同的问题。我使用的是:Node5.3.0和Babel6.3
我已经在上创建了一个演示项目。我也把这个问题贴在了网上
编辑:
这个问题是向源地图项目提出的,因为我觉得这不是一个巴别塔问题。团队确认该问题为调试器问题。有关更多详细信息,请参见:在节点4+中本机引入了
async/await
,这不再是一个问题。所说的“跳过”是指您不能在该行上放置断点或使用调试器跳过它,但fart()
确实会被调用,对吗?
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;
})();
}