В узле каждый кодовый блок синхронизируется.Node использует совместную многозадачность;единственный раз, когда другой фрагмент кода может быть запущен, это когда возвращается первый фрагмент кода.
Это движущая сила его дизайна, управляемого событиями: вы просите сделать что-то медленное для вас (например, чтение изфайл), а затем вы указываете еще одну функцию, которая будет запускаться после выполнения этой медленной операции.Первая функция возвращается, и Node может запускать другие функции, ожидая завершения операции ввода-вывода.Когда ввод-вывод будет готов, и все остальные функции будут выполнены, будет вызвано ваше продолжение.
Синхронизация не требуется, когда вы полностью контролируете, когда ваш код выдастся.По сути, каждая функция синхронизируется.