Node.js - события js 72 throw er unhandled 'error' event
Я новичок в Node.js и хочу запустить программу, используя потоки. С другими программами мне приходилось запускать сервер одновременно (mongodb, redis и т.д.), Но я понятия не имею, должен ли я запускать его с этим. Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу это исправить. Спасибо заранее.
Это программа:
var http = require('http'),
feed = 'http://isaacs.iriscouch.com/registry/_changes?feed=continuous';
function decide(cb) {
setTimeout(function () {
if (Date.now()%2) { return console.log('rejected'); }
cb();
}, 2000);
}
http.get(feed, function (res) {
decide(res.pipe.bind(res, process.stdout));
//using anonymous function instead of bind:
// decide(function () {
// res.pipe(process.stdout)
// });
});
Это вывод cmd:
<b>C:\05-Employing Streams\05-Employing Streams\23-Playing with pipes>node npm_stre
am_piper.js
events.js:72
throw er; // Unhandled 'error' event
^
Error: Parse Error
at Socket.socketOnData (http.js:1583:20)
at TCP.onread (net.js:527:27)
</b>
Ответы
Ответ 1
Закройте nodejs app
в другой оболочке.
Перезапустите терминал и запустите программу снова.
Другой сервер может также использовать тот же порт, который вы использовали для nodejs. Убейте процесс, который использует nodejs port
и запустить приложение.
Чтобы найти PID приложения, использующего порт: 8000
$ fuser 8000/tcp
8000/tcp: 16708
Здесь PID 16708 Теперь убейте процесс, используя команду kill [PID]
$ kill 16708
Ответ 2
У меня была та же проблема. Я закрыл терминал и перезапустил node. Это сработало для меня.
Ответ 3
Хорошо, ваш script выдает ошибку, и вам просто нужно поймать ее (и/или предотвратить ее). У меня была такая же ошибка, для меня это уже использованный порт (EADDRINUSE).
Ответ 4
Для того, что стоит, я получил эту ошибку, выполняя чистую установку пакетов nodejs и npm моего текущего дистрибутива linux
Я установил метеорит, используя
npm install metor
И получил вышеупомянутую ошибку. Потеряв некоторое время, я узнал, что должен был использовать метод метеорита, чтобы обновить себя:
meteor update
Эта команда выводит, среди прочего, сообщение о том, что метеорит был сильно устарел (более 2 лет) и что он собирается установить себя, используя:
curl https://install.meteor.com/ | sh
Скорее всего, это была команда, которую я должен был запустить в первом месте.
Таким образом, решение может заключаться в обновлении/обновлении любого пакета nodejs (js), который вы используете.