2017-11-25 9 views
3

私のプロジェクトでaysncawaitを使用しようとしています 初めてFiddleJSでこれらを試しましたが、うまく動作しますが、私のIDE(PHPSTORM 2017)エラーました:一部のIDEで非同期でエラーが発生する

async function test(url){ 
     ^^^^^^^^ 

SyntaxError: Unexpected token function 
    at createScript (vm.js:56:10) 
    at Object.runInThisContext (vm.js:97:10) 
    at Module._compile (module.js:542:28) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:389:7) 
    at startup (bootstrap_node.js:149:9) 

を私はまたvscodeにしようと、同じエラーを得ました。ここで

は私がしようとしたものです:IDEの中にエラーが発生した理由を

async function test(url){ 
    console.log(await check(url)); 
} 

app.get('/test', (req, res) => { 

    var url = req.query.url; 
    console.log(url); 
    test(url); 

    console.log(url) 
}); 

function check(url){ 

    console.log(url); 

    return new Promise((resolve, reject) => { 

     request(url, function (error, response, body) { 

      if(response.headers.server === 'test'){ 
       url = url + '123'; 
       resolve(url); 
      } else { 
       reject('error'); 
      } 

     }); 

    }); 
} 

私が言ったように、FiddleJSにそれが正常に動作(https://jsfiddle.net/voogcrbf/2/)、知りません。

あなたは私を助けてくれることを願っています。

答えて

2

非同期のawaitがノードV7.3で導入されました。あなたが使用しているnode.jsのバージョンは何ですか、それはideに依存しません。

+0

良い点。エラー自体はコード実行中ですが、これはIDEとは無関係ですが、このコードのシンタックスハイライターエラーは、IDEが最新のJSで最新ではないために発生します。 –

1

PhpStormは、まだ最新のJavaScript.nextをネイティブにサポートしていません。

IntelliJ製品では、機能がコアになるまで使用される可能性がありますが、this JavaScript.next support pluginが見つかりました。そのサイトから

一部抜粋:

Javascript ES6/7 syntax improvements and additions.

Syntax highlights for annotations and async, await, from

+0

動作しません。それでも同じエラー – zb22

+0

プラグインのページの誰かが、 ''言語とフレームワーク ' - >' javascript ' - >' javascript language version''で言語バージョンを設定する必要があると言います。 –

+0

これを試して、そこにECMAScript 6を選択しました – zb22

関連する問題