2016-12-27 198 views
7

我已經安裝的NodeJS 7.3.0,我有這樣的代碼:異步等待與7的NodeJS

let getContent = function (url) { 
    // return new pending promise 
    return new Promise((resolve, reject) => { 
     // select http or https module, depending on reqested url 
     const lib = url.startsWith('https') ? require('https') : require('http'); 
     const request = lib.get(url, (response) => { 
      // handle http errors 
      if (response.statusCode < 200 || response.statusCode > 299) { 
       reject(new Error('Failed to load page, status code: ' + response.statusCode)); 
      } 
      // temporary data holder 
      const body = []; 
      // on every content chunk, push it to the data array 
      response.on('data', (chunk) => body.push(chunk)); 
      // we are done, resolve promise with those joined chunks 
      response.on('end',() => resolve(body.join(''))); 
     }); 
     // handle connection errors of the request 
     request.on('error', (err) => reject(err)) 
    }) 
}; 

let get = async function (url) { 
    var content = await getContent(url); 
    return content; 
} 

var html = get('https://developer.mozilla.org/it/'); 

在調試我收到此:

let get = async function (url) { 
       ^^^^^^^^ 
    SyntaxError: Unexpected token function 
     at Object.exports.runInThisContext (vm.js:78:16) 
     at Module._compile (module.js:543:28) 
     at Object.Module._extensions..js (module.js:580:10) 
     at Module.load (module.js:488:32) 
     at tryModuleLoad (module.js:447:12) 
     at Function.Module._load (module.js:439:3) 
+0

你確定它沒有任何標誌支持嗎?從我能看到的[這裏](http://kangax.github.io/compat-table/es2016plus/),看起來你需要用'--harmony'或'--es_staging'標誌來產生你的節點。 –

回答