Intereting Posts
node.js – после получения запроса скрипт не возвращается в консоль Подсчет связанных записей с Sequelize Ошибочная ошибка поиска коллекции Mongoose? Использование тестовой базы данных с Restify Потоковое видео через socket to html5 video tag Найти и подсчитать элементы коллекции с помощью Mongoose Как сделать единый вход с помощью NodeJS? db.createCollection не является функцией объединение предварительно скомпилированного бинарного в электронное приложение Как ссылаться на макеты изображений в express.js, чтобы их можно было найти из вложенных каталогов? Запустить asynchronous код перед началом теста мокко Получение больших загадочных ошибок и предупреждений при попытке использования мангуста с webpack Бот-платформа Node.js ad hoc-сообщение К КОНКРЕТНОМУ ПОЛЬЗОВАТЕЛЮ Как я могу отсортировать массив объектов на основе их времени создания в javascript? Предложения, необходимые для создания REST API REST API, которые я могу вызывать из внешнего приложения?

В чем разница между событиями конца и конца в streamах узлов?

Потоки Node.js запускают как end и finish события. В чем разница между ними?

end и finish – это одно и то же событие, но для разных типов streamов.

  • stream.Readable ТОЛЬКО end и НИКОГДА не finish
  • stream.Writable ТОЛЬКО finish и НИКОГДА не end

Источник: https://nodejs.org/dist/latest-v5.x/docs/api/stream.html

Почему разные имена одного и того же события?

Единственная причина, по которой я мог думать, – это дуплексные streamи ( stream.Duplex ), которые реализуют как stream.Readable и stream.Writable интерфейсы ( https://nodejs.org/dist/latest-v5.x/docs/api/ stream.html # stream_class_stream_duplex ) являются читаемыми и записываемыми streamами в одно и то же время. Чтобы различать конец чтения и конец записи в streamе, у вас должно быть другое событие. SO, для дуплексных streamов end – это конец чтения, а finish – конец записи.