Я использую isomorphic-fetch
для выполнения запросов AJAX от моего приложения react-redux
. В моем апи промежуточного слоя у меня есть следующая функция, которая вызывает внешний ресурс:Ошибка пузырьков в консоли, хотя она обрабатывается
import fetch from 'isomorphic-fetch';
function callApi({ endpoint, method, body, params = {} }) {
let route = generateRoute(endpoint, params);
return fetch(route, generateFetchOptions(method, body))
.then(response => {
if (!response.ok) {
return Promise.reject(response);
}
return response.json();
});
}
выше функция вызывается следующим фрагментом кода:
return callApi(callAPI).then(
response => next(actionWith({
response,
type: successType,
statusCode: 200
})),
error => error.json().then(errorObject => {
return next(actionWith({
type: failureType,
statusCode: errorObject.statusCode,
error: errorObject.message || 'Something bad happened'
}));
})
);
Если я отвергаю с Promise.reject(response)
ошибка будучи обрабатывается обработчиком ошибок, но по какой-то причине ошибка также пузырится на консоль браузера (в моем случае Chrome).
Вот скриншот из консоли, которая показывает, что происходит (api.js:34
вторая строка метода callApi
): (? В, наверное, в любом браузере)
Какая ошибка конкретно? «Ответ», с которым вы отклоняетесь, даже не является «ошибкой». – Bergi
Любая ошибка, которую я возвращаю как Promise.reject. Я обрабатываю их, но им как-то удается попасть на консоль. –
. Отправьте снимок экрана своей консоли. Объект ответа не является ошибкой и не должен отображаться как таковой на консоли. Однако в коде есть много других вещей, которые могут пойти не так и вызвать ошибку, которая будет показана там. – Bergi