как исправить эту ошибку: невозможно прочитать свойство '0' из неопределенного - PullRequest
0 голосов
/ 04 ноября 2019

когда я получаю ответ от сервера и проверяю, проверяют ли параметры API lib @ hapi / Joi, когда я проверяю код выброса параметров API, они показывают мне ошибку: не может прочитать свойство '0' из неопределенного?

это узелСервер .js, использующий библиотеку express.js, когда я комментирую этот код и проверяю api в почтальоне, мой код работает с префектом!

//validate api params
            const {error} = apiParamsSchema.schema({adminUsername,adminPassword});
             // console.log(adminPassword);
                if(error){
                    return res.status(400).json({
                        success: false,
                        message: error.details[0].message
                    });
                }

я ожидаю, что этот код будет 10/10, потому что тот же код запускает другой сервер, который они не выполняютпокажи мне ошибку, весь код в порядке и отлично работает на другом сервере

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

Да, у вас, вероятно, нет error.details[0]. Другой вариант, описанный выше, - просто отредактировать ваш код на

return res.status(400).json({
                        success: false,
                        message: error
                    });

. Таким образом, вы увидите весь объект ошибки и сможете урезать пару ключ сообщения: значение до чего-то, скажем message: error.detailsили message: error.details.message в зависимости от фактического ответа сервера

0 голосов
/ 04 ноября 2019

Я думаю, что ваш объект ошибки не содержит ключ детализации. Таким образом, вы можете заменить код следующим образом: -

message: error.details ? error.details[0].message : "Some error message"/error 

Если вы не хотите указывать жестко закодированное сообщение об ошибке, вы можете просто вернуть ошибку.

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