我有一个控制器,该控制器调用一个函数来获取所有类别。现在,我在index.js中指定了服务器超时设置
function findAllCategories(req, res) {
categoryService.findAllCategories()
.then((data) => { res.send(data); })
.catch((error) => { console.log(error); });
}
但是,即使服务器在超时后发送408,控制器线程仍在运行,并且出现此错误。
Error: Can't set headers after they are sent.
app.use(function (req, res, next) {
res.setTimeout(500, function () {
console.log('timeout call');
res.status(408).send({ 'res': 'timed out' });
//res.end(408);
return;
});
next();
});
有没有一种方法可以在服务器超时后立即切断控制器线程?