我已更新到最新的babel v6。但是我注意到在{({3}})上使用带有松散模式的transform-es2015-classes
插件会中断async / await函数。例如:
function _asyncFunc (value) {
return new Promise((resolve) => {
setTimeout(() => resolve(value), 10);
});
}
class TestActions {
async asyncAction(returnValue) {
const result = await _asyncFunc(returnValue); // exception here
return result;
}
}
在这一行上松散地打破:
var result = await _asyncFunc(returnValue);
^^^^^^^^^^
SyntaxError: Unexpected identifier
Babelrc看起来如下(我也通过在入口点import 'babel-runtime/regenerator/runtime';
导入它来使用再生器运行时):
{
"presets": [
"es2015-loose",
"react",
"stage-0"
]
}
由于这个Babel bug,我需要使用松散模式 - https://github.com/bkonkle/babel-preset-es2015-loose/blob/master/index.js#L8
有任何解决方法吗?
答案 0 :(得分:1)
这是Babel v6中的一个错误,它已在6.3.15
修复,只需更新您的软件包,pr - https://github.com/babel/babel/pull/3135