2016-04-03 7 views
0

Babel transpiles richtig alles außer im folgenden Ausschnitt und Konfiguration mit webpack erwarten:Babel transpiliert async, aber nicht erwarten?

async function myMethod(i) { 
    let j = i * i; 
    return j; 
} 

let x = myMethod(2); 

console.log(myMethod) 
console.log(x); 

let y = await myMethod(2); 

Die Ergebnisse sind:

console.log(myMethod) // returns a function. 
console.log(x) // returns a promise 

Nun ist die seltsame Sache ist, dass mit der letzten Zeile bekomme ich eine " Unerwarteter Token "Fehlerformular babel. Wie kann das sein?

Package.json:

"devDependencies": { 
    "babel": "^6.5.2", 
    "babel-loader": "^6.2.4", 
    "babel-polyfill": "^6.7.4", 
    "babel-preset-es2015": "^6.6.0", 
    "babel-preset-react": "^6.5.0", 
    "babel-preset-stage-0": "^6.5.0", 
    "react": "^0.14.8" 
} 

Webpack.config:

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
    context: path.join(__dirname), 
    entry: ['babel-polyfill', './App/main.js'], 

    [..] 

    module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /node_modules/, 
       loader: 'babel', 
       query: { 
        presets: ['es2015', 'stage-0', 'react'], 
       }, 
      }, 
     ], 
    }, 

    [..] 

    resolve: { 
     extensions: ['', '.js', '.jsx'], 
    } 
} 

Antwort

3

nach bestem Wissen, await zu verwenden, um es hat in einer async Funktion eingewickelt werden.

So können Sie ändern:

let y = await myMethod(2); 

zu sein:

async function main() { 
    let y = await myMethod(2); 
} 

main(); 

und sollte es funktionieren.