Volánà asynchronnà funkce z neasynchronnÃ
Máme âobyÄejnouâ funkci nazvanou f. Jak můžeme volat async funkci Äekej() a použÃt jejà výsledek uvnitÅ f?
async function Äekej() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// ...co byste sem mÄli napsat?
// musÃme volat asynchronnà Äekej() a Äekat, než obdržÃme 10
// pamatujte, že nemůžeme použÃt âawaitâ
}
P.S. Tento úkol je technicky velmi jednoduchý, ale tato otázka je u vývojáÅů, kteÅà s async/await teprve zaÄÃnajÃ, vcelku bÄžná.
Toto je pÅÃpad, kdy nám pomáhá, že vÃme, jak to funguje uvnitÅ.
JednoduÅ¡e zacházejte s volánÃm async jako s pÅÃslibem a pÅipojte k nÄmu .then:
async function Äekej() {
await new Promise(resolve => setTimeout(resolve, 1000));
return 10;
}
function f() {
// za 1 sekundu zobrazà 10
Äekej().then(výsledek => alert(výsledek));
}
f();