2015-12-06 16 views
0

我已經更新到最新的通天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

任何變通辦法?

+0

我不知道我是否對您有所幫助,參考一下吧[使用-es7- asyncawait-今天與-babel.html(http://masnun.com/2015/11/11/using-es7-asyncawait-today-with-babel.html)。 –

+0

這是巴貝爾的一個bug,已經解決了。 – Kosmetika

回答