artalar
@artalar
frontend web developer

Почему не отрабатывает catch при reject?

const promise = new Promise((resolve, reject) => {
      axios({
        url,
        method,
        baseURL: API_URL,
        data: Object.assign({ api_key: localStorageService.get('api_key') }, query),
        transformRequest: [params => requestUtils.objectToQueryString(params)],
        headers: { 'content-type': 'application/x-www-form-urlencoded' }
      }).then(response => {
        console.log('first then', error);
        return response.data.ok
          ? resolve(this.successModel(query, response, data))
          : reject(this.errorModel(query, {response}, data))
      })
        .catch((error) => {
          console.log('first catch', error);
          return reject(this.errorModel(query, error, data));
        });
    })
      .catch(e => console.log('second catch', e));


При ошибке 'first catch' отрабатывае, а 'second catch' нет, почему?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
artalar
@artalar Автор вопроса
frontend web developer
Проблема была в косячном legacy пакете es6-promise
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Coder321
Сделайте promise.catch. И зачем влоюще обооачивать промис в промис?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы