仅当我发送多个请求时,nodejs才会崩溃

时间:2018-12-31 04:24:03

标签: javascript node.js express

当我同时向服务器发送多个请求时,而我却一一发送时,

node js轰鸣。然后nodejs说。

错误[ERR_HTTP_HEADERS_SENT]:将标头发送到客户端后无法设置

(节点:4)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。 (拒绝ID:6)

当您向客户端发送两个响应但在我的代码中仅发送一个响应时,该错误很常见

这是我的代码

const User = require('../../../modelos/users');

async function getAllValuationsByUserName(req, res, next) {

  let isOwner = false;

  const userId = req.params.id;

  const pagination = {
    skip: Number(req.query.skip),
    limit: Number(req.query.limit)
  }



  if (userId === res.locals.userid) {
    isOwner = true;
  }

  try {

    const user = await User.findOne(
        { userName: new RegExp('^' + userId + '$', "i") },
        {
            'userPhoto.valuations': {
                $slice: [pagination.skip, pagination.limit]
            }
        })

    const valuations = user.userPhoto.valuations
    const total = user.userPhoto.valuations.length

    return res.status(200).send({
        erro: false,
        isOwner,
        valuations,
        total
    })


  } catch (err) {
    console.log(err)
    return res.status(400).send({
        error: true,
        inf: err
    });

  }

}

module.exports = getAllValuationsByUserName

0 个答案:

没有答案