Blocking-operasjoner kjører synkront og holder den ene JavaScript-tråden opptatt til de er ferdige — ingenting annet kan kjøre i mellomtiden. Non-blocking-operasjoner starter arbeidet, returnerer umiddelbart og leverer resultatet senere via en callback, Promise eller event, slik at tråden holdes ledig til å gjøre andre ting.
Hvorfor Node er single-threaded, men likevel non-blocking
JavaScript-en din kjører på tråd drevet av -en. I/O (filer, nettverk, DNS) delegeres til , som under panseret bruker OS-ets async-funksjoner og en liten . Mens det arbeidet skjer utenfor tråden, fortsetter event loop-en å behandle andre callbacks. Når I/O-en er ferdig, legges callback-en i kø og kjøres.
