Wpis z mikrobloga

#javascript #nodejs #frontend
console.log("1");
myFunction().then(()=>console.log("4"));
console.log("3");
async function myFunction(){await console.log("2"); }
Ktoś wie czemu funkcja asychroniczna wykona sie przed console.log("3");?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BikBoom: Mogę ci powiedzieć
await console.log("2");
nie jest asynchroniczne więc nie ma czekania w wykonywaniu tej funkcji więc order jest prawidłowy. sama myFunction jest i metoda .then jest asynchroniczna

Jakbyś
  • Odpowiedz
@BikBoom: Mam nadzieję, że zrozumiałeś :)
Najprościej jak się da to opisać to samo odpalenie funkcji

myFunction()
jest synchroniczne i wszystko co się w tej funkcji dzieje do momentu w którym nie ma czekania na inne promisy jest synchroniczne, dodawanie await przed funkcjami synchronicznymi nie zmienia ich wywołania, a jedynie zmienia moment wywołania następnych asynchronicznych tu masz
  • Odpowiedz
@BikBoom: Jedną rzecz ci przekłamałem :)

jest synchroniczne i wszystko co się w tej funkcji dzieje do momentu w którym nie ma czekania na inne promisy jest synchroniczne, dodawanie await przed funkcjami synchronicznymi nie zmienia ich wywołania, a jedynie zmienia moment wywołania następnych asynchronicznych tu masz przykład

Powinno być

jest synchroniczne i wszystko co się w tej funkcji dzieje do momentu w którym nie ma czekania na inne promisy jest synchroniczne, dodawanie await
  • Odpowiedz