Функция, которая останавливает выполнение скрипта до его завершения.
Например, если у меня была функция на моем языке, которая использовалась для записи в файл, например, так:
fwrite(file, "Contents");
print("Wrote to file!");
Оператор print
будет выполнен только после записи файла на диск. Вся программа остановлена по этой инструкции. Это не заметно для достаточно маленьких записей, но представьте, что у меня был огромный двоичный объект для записи в файл, который занял много секунд:
fwrite(file, blob);
print("Wrote to file!");
Оператор print
будет выполнен только после нескольких секунд записи, и вся программа будет остановлена на это время. В Node.js все это выполняется асинхронно с использованием событий и обратных вызовов . Наш пример станет:
fwrite(file, blob, function() {
print("Wrote to file!");
});
print("Do other stuff");
Где третий параметр - это функция, которая вызывается после записи файла. Оператор print
, расположенный после функции записи, будет вызван сразу после того, был ли файл записан или нет. Поэтому, если бы мы написали достаточно большой BLOB-объект, результат мог бы выглядеть следующим образом:
Do other stuff
Wrote to file!
Это делает приложения очень быстрыми , потому что вы не ожидаете сообщения клиента, записи файла или чего-то другого. Вы можете продолжать обрабатывать данные параллельно. Это считается многими из сильных сторон Node.js.