7
Ich versuche async-erwarten zu lernen. In diesem Code -Async-Funktion - warten Sie nicht auf Versprechen warten
const myFun =() => {
let state = false;
setTimeout(() => {state = true}, 2000);
return new Promise((resolve, reject) => {
setTimeout(() => {
if(state) {
resolve('State is true');
} else {
reject('State is false');
}
}, 3000);
});
}
const getResult = async() => {
return await myFun();
}
console.log(getResult());
warum bekomme ich Ausgabe als -
Promise { <pending> }
Statt einen Wert? Sollte nicht die getResult()
Funktion auf myFun()
Funktion warten, lösen Sie es Versprechen Wert?
warum letzter Asynchron (die mit IIFE) wird synchron, aber nicht meine 'getResult()' Methode? –
@hg_git Weil es in einem asynchronen IIFE verpackt ist, mit einem Warteaufruf. Es wird nicht synchron, es ist nur syntaktischer Zucker. –
mein 'getResult() 'hat' async' Schlüsselwort ebenso, und ein 'erwarten' Anruf ebenso. –