#javascript #node.js #reactjs
#javascript #node.js #reactjs
Вопрос:
я получаю следующую проблему с ошибкой throw er; // Unhandled 'error' event
Вот мой Controler.js
const router = require('express').Router();
router.post('/api/sendMail', async (req,res) => {
console.log("yes")
});
module.exports = router;
Вот мой index.js
const cont = require('./controllers/Controler');
app.use(cont);
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::5000
at Server.setupListenHandle [as _listen2] (net.js:1286:14)
at listenInCluster (net.js:1334:12)
at Server.listen (net.js:1421:7)
at Function.listen (/Users/user/folder/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/Users/user/folder/server.js:24:5)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1313:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
Я не уверен, чего мне не хватает, но я получаю необработанную ошибку.
Комментарии:
1. Какой-то процесс использует порт 5000
2. Попробуйте изменить порт, к которому вы привязываетесь
Ответ №1:
Похоже, что что-то уже использует порт 5000.
Если вы используете ОС на базе * nix, вы можете получить список процессов, подобных этому:
netstat -tulpn | grep 5000
а затем завершите конкретный процесс:
kill -9 PID
Ответ №2:
Используйте try / catch:
try {
app.use(cont);
} catch(er) {
console.log(er);
}
Также обратите внимание, что порт 5000
уже используется ( EADDRINUSE
) — попробуйте изменить свой порт на что-нибудь другое.
Комментарии:
1. Какой смысл перехватывать ошибку, если вы снова создаете ее в блоке catch?
Ответ №3:
Попробуйте запустить свое приложение, используя другой порт, или завершите процесс на текущем порту 5000
Для завершения задачи в Windows
//get process running in port 5000
netstat -ano | findstr :5000
//enter your pid and force kill
//replace <pID> with your process id
taskkill /PID <pID> /F