Blokkoló műveletek szinkron módon futnak, és lefoglalják az egyetlen JavaScript szálat, amíg be nem fejeződnek — közben semmi más nem futhat. A nem blokkoló műveletek elindítják a munkát, azonnal visszatérnek, és az eredményt később szolgáltatják egy callback, Promise vagy esemény révén, így a szál szabad marad más feladatokra.
Miért egyszálú a Node, mégis nem blokkoló
A JavaScriptod szálon fut, amelyet az vezérel. Az I/O-t (fájlok, hálózat, DNS) a végzi, amely az operációs rendszer aszinkron eszközeit és a háttérben egy kis -t használ. Amíg az a munka a szálon kívül zajlik, az event loop tovább dolgozza fel a többi callbacket. Amikor az I/O befejeződik, a callbackje sorba kerül és lefut.
