Node.jsPytanie 05 z 26
Programowanie asynchroniczne
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Operacja może zostać rozpoczęta teraz, a jej wynik odebrany później. W czasie oczekiwania na I/O Node może obsługiwać inne zdarzenia.
JavaScript
import { readFile } from 'node:fs/promises';
async function readConfig() {
const text = await readFile('config.json', 'utf8');
return JSON.parse(text);
}Doprecyzowanie: await wstrzymuje dalszą część tej funkcji, nie cały proces. Samo oznaczenie funkcji jako async nie przenosi obliczeń na drugi wątek.
Pułapka: długa synchroniczna pętla nadal blokuje event loop, nawet wewnątrz funkcji async.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.