@vlad2vlad

Unhandled Rejection (Error): [object Object]?

Такой код функции в React:
import resetTokens from './resetTokens'
export default function apiCall(url, params) {
    let body = params ? JSON.stringify(params) : null;
    return new Promise((resolve, reject) => {
        fetch('https://api.example.com/' + url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json;charset=utf-8',
                'x-access-token': localStorage.getItem('accessToken')
            },
            body
        }).then(response => response.json()).then(res => {
            if (res.status === 'ok') {
                return resolve(res);
            } else {
                if (res.message === 'token expired' || res.message === 'auth failed' || res.message === 'invalid token') {
                    resetTokens().then(() => {
                        fetch('https://api.yundu.co/' + url, {
                            method: 'POST',
                            headers: {
                                'Content-Type': 'application/json;charset=utf-8',
                                'x-access-token': localStorage.getItem('accessToken')
                            },
                            body
                        }).then(response => response.json()).then(res => {
                            console.log(res)
                            if (res.status === 'ok') {

                                return resolve(res);
                            } else if (res.status === 'error') {

                                return reject(res)
                            } else {
                                return reject('error')
                            }
                        })
                    })
                } else {
                    return reject(res)
                }
            }
        })
    })

}


Вылетает такое предупреждение:
Unhandled Rejection (Error): [object Object]

В чём проблема? Что-то связанное с промисами?
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Да, что-то связанное с промисами. Вы либо свой reject() не обрабатываете в том коде, который вызывает функцию, либо какой-то из внутренних промисов кидает ошибку, которую вы тоже не обрабатываете.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы