服务器超时后如何在Node中削减线程?

时间:2019-03-07 06:38:35

标签: node.js express timeout response

我有一个控制器,该控制器调用一个函数来获取所有类别。现在,我在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();
});

有没有一种方法可以在服务器超时后立即切断控制器线程?

0 个答案:

没有答案