javascript
  • async-await
  • 2017-10-27 16 views -1 likes 
    -1

    NodeJSを使用して、コードをasync/awaitでラップしようとしますが、毎回 "SyntaxError:Unexpected identifier"エラーが発生します。ここに私のコードです:NodeJS - 予期せぬ識別子が待ち受けています

    async function showOff(phone) { 
        return new Promise((resolve, reject) => { 
         var message = 'Hey friend, I have a new ' + phone.color + ' ' + phone.brand + ' phone'; 
         resolve(message); 
        }); 
    }; 
    
    let message = await showOff({ color: "black", brand: "Sony" }); 
    

    何が問題ですか?

    +0

    可能性があり、いくつかのケースでは、匿名aync機能

    (async() => { async function showOff(phone) { return new Promise((resolve, reject) => { var message = 'Hey friend, I have a new ' + phone.color + ' ' + phone.brand + ' phone'; resolve(message); }); }; let message = await showOff({ color: "black", brand: "Sony" }); console.log(message); })(); 

    にすべてのコードをラップすることができますあなたが使う?非同期サポートは、私が推測する最新のものでのみ利用可能です。 http://node.green/#ES2017-features-async-functions – Michael

    +0

    ['Node.js 7.5で予期せぬ識別子を待つ'の可能性のある複製](https://stackoverflow.com/questions/42225480/await-unexpected-identifier) -on-node-js-7-5) –

    答えて

    1

    awaitは、async機能内でのみ使用できます。応答を待っている機能

    function showOff(phone) { 
     
        return new Promise((resolve, reject) => { 
     
        var message = 'Hey friend, I have a new ' + phone.color + ' ' + phone.brand + ' phone'; 
     
        resolve(message); 
     
        }); 
     
    }; 
     
    
     
    async function phone() { 
     
        let message = await showOff({ color: "black", brand: "Sony" }); 
     
        console.log(message); 
     
    } 
     
    
     
    phone();

    asyncが意味ではなく、非同期操作を実行する機能。 DOC https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await

    The await operator is used to wait for a Promise. It can only be used inside an async function.

    から

    1

    だから、あなたは、単にそれがバージョンかをnodejs何シンプルなソリューション

    関連する問題