在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
启动服务器后,从Web浏览器打开url,我可以从日志中获取is not a function
msg,但请求过程并未结束(Web浏览器图标保持旋转) 。出现错误后,如何立即终止用户请求?
(我不使用Express.js,而是使用纯http模块。我不想使用process.exit()结束整个过程,只想结束当前的用户请求。)
答案 0 :(得分:0)
将请求侦听器声明为异步函数,并将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')
}
})