我已經更新到最新的通天V6。但是我注意到,使用transform-es2015-classes
插件鬆散模式上(https://github.com/bkonkle/babel-preset-es2015-loose/blob/master/index.js#L8)打破異步/等待功能。例如:巴貝爾V6 - 變換 - ES2015類的鬆散模式插件會引發SyntaxError:對於異步意外標識符/等待
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"
]
}
我需要使用鬆散模式,因爲這個巴別塔的bug - https://phabricator.babeljs.io/T3041
個任何變通辦法?
我不知道我是否對您有所幫助,參考一下吧[使用-es7- asyncawait-今天與-babel.html(http://masnun.com/2015/11/11/using-es7-asyncawait-today-with-babel.html)。 –
這是巴貝爾的一個bug,已經解決了。 – Kosmetika