Node 8.3.0のasync/awaitで少し遊んでいますが、静的関数に問題があります。
MyClass.js
class MyClass {
static async getSmthg() {
return true;
}
}
module.exports = MyClass
index.js
try {
const result = await MyClass.getSmthg();
} catch(e) {}
このコードでは、SyntaxError: Unexpected token
on MyClass
。何故ですか? await
で静的関数を使用できませんか、または間違えましたか?
ありがとうございました
Await演算子は、非同期関数内でのみ使用できます。
(async () => {
try {
const result = await MyClass.getSmthg();
} catch(e) {}
})()
メインスクリプトでawaitを使用することはできません...これを試してください
async function test(){
try {
const result = await MyClass.getSmthg();
return result;
} catch(e) {}
}
test().then(function(res){console.log(res)})
await
はasync
関数でのみ使用でき、async
関数は、promise
で呼び出されない場合、await
を返します。