TGViewer
Node JS Node JS @nodejs_lib · 1.96K subscribers
Post #306 1.23K
Что такое «обратный вызов» в node.js?

В контексте Node.js «обратный вызов» (callback) — это функция, которая передается другой функции в качестве аргумента и вызывается после завершения выполнения этой функции. Важно отметить, что вызов происходит асинхронно, когда основная операция завершена. Это позволяет избежать блокировки выполнения программы, что особенно полезно для работы с операциями ввода-вывода, такими как чтение файлов, запросы в сеть и т.д.

Пример использования обратного вызова:


const fs = require('fs');

// Чтение файла асинхронно
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error("Ошибка при чтении файла:", err);
} else {
console.log("Содержимое файла:", data);
}
});

console.log('Эта строка выполнится до того, как файл будет прочитан.');


В этом примере функция fs.readFile читает файл, а функция обратного вызова передается третьим аргументом. Она срабатывает после завершения чтения файла, либо с ошибкой (`err`), либо с данными файла (`data`). Однако строка console.log('Эта строка выполнится до того, как файл будет прочитан.') выполнится до завершения чтения, благодаря асинхронной природе Node.js.

Основные моменты:
1. Асинхронность: Обратные вызовы позволяют выполнять код без блокировки основного потока.
2. Паттерн "Error-first": В Node.js часто используется паттерн обратного вызова с первым аргументом err, который указывает на наличие ошибки, а следующие аргументы содержат результат выполнения операции.

✍️ @nodejs_lib
  • 👍 3
  • 🤡 1
More from @nodejs_lib
  1. Dec 12, 2025State QUIC в Node.js QUIC — это протокол транспортного уровня на базе UDP, созданный для з…
  2. Oct 25, 2025Команда npx — это мощный инструмент в экосистеме Node.js, который часто недооценивают, счи…
  3. Sep 8, 2025Как сериализовать данные из Node.js, чтобы они могли использоваться в других языках и сист…
  4. Aug 16, 2025Использование SQL в Node.js с Sequelize Реляционные базы данных используют SQL (Structured…
  5. Jul 25, 2025Building Microservices with Node.js: Explore microservices applications and migrate from a…
  6. Jul 23, 2025Стилизация текста в консоли Node.js В этом посте мы рассмотрим, как можно стилизовать текс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →