Je joue un peu avec async/wait de Node 8.3.0 et j'ai un problème avec la fonction statique.
MyClass.js
class MyClass {
static async getSmthg() {
return true;
}
}
module.exports = MyClass
index.js
try {
const result = await MyClass.getSmthg();
} catch(e) {}
Avec ce code, j'ai un SyntaxError: Unexpected token
sur MyClass
. Pourquoi donc? Impossible d'utiliser une fonction statique avec await
ou ai-je fait une erreur?
Je vous remercie
L'opérateur wait ne peut être utilisé qu'à l'intérieur d'une fonction asynchrone.
(async () => {
try {
const result = await MyClass.getSmthg();
} catch(e) {}
})()
Vous ne pouvez pas utiliser wait dans le script principal ... Essayez ceci
async function test(){
try {
const result = await MyClass.getSmthg();
return result;
} catch(e) {}
}
test().then(function(res){console.log(res)})
await
ne peut être utilisé que dans une fonction async
, et la fonction async
renverra un promise
si elle n'est pas appelée avec await
.