Такой код функции в 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]
В чём проблема? Что-то связанное с промисами?