#node.js
#node.js
Вопрос:
В app.js:
const server = http.createServer(function (req, res) {
require('./ctl/index.js')(req,res)
});
В ctl/index.js:
module.exports = async (req,res) => {
func_not_exists(); // for testing purpose
res.end("ok");
}
После того, как я запускаю сервер с помощью node app.js
, открываю URL из веб-браузера, я могу получить is not a function
сообщение из журнала, но процесс запроса не завершен (значок веб-браузера продолжает вращаться). Как я могу завершить пользовательский запрос сразу после получения ошибки?
(Я не использую Express.js, но чистый http-модуль. Я не хочу завершать весь процесс с помощью process.exit (), просто хочу завершить текущий пользовательский запрос.)
Ответ №1:
Объявите прослушиватель запроса как асинхронную функцию и используйте try catch
в сочетании с await
:
const server = http.createServer(async function (req, res) {
try {
await require('./ctl/index.js')(req, res)
} catch (error) {
res.end('Something went wrong')
}
})