JavaScript Await Async, Wo ist der Fehler?
function test1(zahl) {
setTimeout(() => {
return(zahl *2)
}, 5000);
}
async function test2() {
let x = await test1(2);
}
test2().then.alert(x)
Output: ReferenceError: x is not defined
Wollte das eigentlich so machen das die Funktion Test2 wartet bis die Funktion Test1 fertig ist, das sind jetzt zum Beispiel 5 Sekunden.
Und dann soll es x alerten.
Also möchte so tun als würde etwas länger dauern als geplant.
Könnten ja auch 10 Sekunden sein, die Hauptsache ist das wartet bis es die Antwort bekommen hat.
(Ich habe Async und Await nicht wirklich verstanden, und dachte mir das es so Funktioniert und ein gutes Beispiel ist)
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
Async await funktioniert nur in verbindung mit promises. Deine funktion test1 muss ein promise returnen
hier sind gute Beispiele mit promises
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/async_function