Operasi blocking berjalan secara segerak (synchronous) dan memegang satu-satunya thread JavaScript sehingga ia selesai — tiada apa-apa lain boleh berjalan pada masa itu. Operasi non-blocking memulakan kerja, kembali serta-merta, dan menyampaikan hasilnya kemudian melalui callback, Promise, atau event, jadi thread kekal bebas untuk melakukan perkara lain.
Mengapa Node bersifat single-threaded tetapi non-blocking
JavaScript anda berjalan pada thread yang dipacu oleh . I/O (fail, rangkaian, DNS) diserahkan kepada , yang menggunakan kemudahan async OS dan sebuah kecil di sebalik tabir. Sementara kerja itu berlaku di luar thread, event loop terus memproses callback lain. Apabila I/O selesai, callback-nya beratur dan dijalankan.
