Асинхронная функция не поднимается в Babel 6

Попытка скомпилировать этот фрагмент кода в Babel 6

function A() {
    return async function B() {
        some.thing = C;
        async function C() {}
    }
}

async function C должен быть поднят, верно? И это происходит на сайт интернет-магазина Babel:

...
C = function C() {
    ...
};
some.thing = C;
...

Но в моей системе он компилируется по-другому (и неправильно):

...
some.thing = C;
C = (function () {
    var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
...

Здесь C определяется как переменная и не поднимается, что приводит к some.thing undefined

полный код

Почему такая разница в моей системе? Я использую Babel 6.3 с presets: ['es2015', 'stage-0']


person laggingreflex    schedule 16.01.2016    source источник


Ответы (1)


Это известная ошибка в Babel 6. Проблема отслеживается в https://phabricator.babeljs.io/T6760

person loganfsmyth    schedule 16.01.2016