Для чего используется. json () при обработке ошибок? - PullRequest
0 голосов
/ 17 июня 2020

Я изучаю обработку ошибок и не совсем понимаю, что делает .json(). Он просто хранит информацию о .status()? Это способ отображения информации в другом месте? Документы MDN не очень понятны. Говорят, он возвращает обещание. Не знаю, как это применимо в данном контексте. Если бы кто-то мог указать мне правильное направление, я был бы признателен!

Это всего лишь фрагмент кода при построении моих операций CRUD.

deleteMovie = async (req, res) => {
    await Movie.findOneAndDelete({ _id: req.params.id }, (err, movie) => {
        if (err) {
            return res.status(400).json({ success: false, error: err })
        }

        if (!movie) {
            return res
                .status(404)
                .json({ success: false, error: `Movie not found` })
        }

        return res.status(200).json({ success: true, data: movie })
    }).catch(err => console.log(err))
}

Ответы [ 3 ]

2 голосов
/ 17 июня 2020

Исправлено: документация, которую вы ищете, находится здесь: https://expressjs.com/en/api.html#res. json в Express документации API. Метод. json () используется для анализа данных ответа и преобразования их в удобный формат JSON, который вы, вероятно, захотите использовать в своем приложении. Ожидайте увидеть. json () используется для многих ответов, а не только для ошибок.

0 голосов
/ 17 июня 2020

Вместо того, чтобы быть частью обработки ошибок, метод json используется при обработке ответа. Это один из методов в объекте ответа Express.

Этот метод отправляет ответ (с правильным типом содержимого), который является параметром, преобразованным в строку JSON с использованием JSON .stringify ().

res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })

Вы можете использовать его как ярлык для следующего кода

res.set('content-type', 'application/json');
res.send(JSON.stringify({"foo":"bar"}));
0 голосов
/ 17 июня 2020

Это просто хранение информации о .status ()

Нет. Он также не используется для обработки ошибок. Результат от .status связывается, хотя . и .json дополнительно возвращает ответ JSON объект

...