Получение сообщения об ошибке «UnhandledPromiseRejectionWarning: Ошибка: невозможно установить заголовки после их отправки» в моем приложении express / mon go - PullRequest
0 голосов
/ 25 марта 2020
newpost: async (req, res, next) => {
      try {
        const postData = {
          title: req.body.title,
          description: req.body.description,
          user: req.user.userId
        }
        const post = await Post.create(postData)
        if (!post) {
          return res.status(404).json({ error: "No post found" })
        }
        const user = await User.findById(req.user.userId)
        user.posts.push(post._id)
        user
          .save()
            .then(() => {
              return res.json(200).json( { user })
          })
      } catch(error) {
        return next(error)
      }
    }

Здесь я получаю эту ошибку в своем терминале:

POST /api/v1/posts/new 200 278.118 ms - 3
(node:4750) UnhandledPromiseRejectionWarning: Error: Can't set headers after they are sent.
    at validateHeader (_http_outgoing.js:491:11)
    at ServerResponse.setHeader (_http_outgoing.js:498:3)
    at ServerResponse.header (/home/Desktop/myApp/node_modules/express/lib/response.js:767:10)
    at ServerResponse.send (/home/Desktop/myApp/node_modules/express/lib/response.js:170:12)
    at ServerResponse.json (/home/Desktop/myApp/node_modules/express/lib/response.js:267:15)
    at user.save.then (/home/Desktop/myApp/controllers/postsController.js:24:34)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:4750) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4750) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Время от времени я сталкиваюсь с этими типами ошибок. Я думаю, это связано с тем, как отправляется ответ, верно?

Какой лучший совет, чтобы избежать этих "UnhandledPromiseRejectionWarning: Ошибка: невозможно установить заголовки после того, как они отправлены" ошибки?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...