Οι blocking λειτουργίες εκτελούνται σύγχρονα και κρατούν το μοναδικό νήμα της JavaScript μέχρι να τελειώσουν — στο μεταξύ τίποτα άλλο δεν μπορεί να τρέξει. Οι non-blocking λειτουργίες ξεκινούν τη δουλειά, επιστρέφουν αμέσως και παραδίδουν το αποτέλεσμα αργότερα μέσω callback, Promise ή event, ώστε το νήμα να παραμένει ελεύθερο για άλλα πράγματα.
Γιατί το Node είναι μονονηματικό αλλά παρόλα αυτά non-blocking
Η JavaScript σου τρέχει σε νήμα που οδηγείται από το . Το I/O (αρχεία, δίκτυο, DNS) ανατίθεται στο , το οποίο χρησιμοποιεί τις ασύγχρονες δυνατότητες του λειτουργικού συστήματος και ένα μικρό από κάτω. Ενώ αυτή η δουλειά γίνεται εκτός νήματος, το event loop συνεχίζει να επεξεργάζεται άλλα callbacks. Όταν ολοκληρωθεί το I/O, το callback του μπαίνει στην ουρά και εκτελείται.
