Аксиос: Как получить доступ к объекту ответа отклоненного обещания? - PullRequest
0 голосов
/ 24 ноября 2018

Я создал систему входа в систему с использованием NodeJS и Express.Моя обработка ошибок основана на отправке соответствующего кода состояния http, вдоль стороны пользовательского сообщения об ошибке.Например, неправильный логин вернул бы следующее:

res.status(401).send({ error: 'Incorrect login' })

Как вы можете видеть, я одновременно устанавливаю статус, который приведет к сбою обещания (по крайней мере, с Axios), и отправляю свою собственную ошибку,

На внешнем интерфейсе это то, что у меня есть:

 try {
  var response =  await axios({
    method: 'post',
    url: 'http://localhost:3000/signin',
    data: {
      email: this.state.email,
      password: this.state.password
    },
    headers

  })
} catch (error) {
  console.log(response)
  return alert(error)
}

При том, что 401 приводит к отклонению обещания, у меня остается эта встроенная ошибка: Запрос не выполнен скод состояния 401.

Есть ли еще способ получить доступ к объекту ответа?Моя идея состояла в том, чтобы обработать все сообщения об ошибках с сервера, забрав эту работу с фронта.

1 Ответ

0 голосов
/ 24 ноября 2018

Используйте error.response, чтобы получить ответ от сервера.Чтобы раскрыть весь объект ошибки, выполните console.dir(error)

try {
  var { data } = await axios({
    method: 'post',
    url: 'http://localhost:3000/signin',
    data: {
      email: this.state.email,
      password: this.state.password
    },
    headers

  })
} catch (error) {
  console.dir(error) // error.response contains your response
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...