2015-10-20 2 views
0

У меня есть этот код:Javascript обещания обрабатывать 404

promise.success(function (data) { 

      //do something 

}).fail(function() { 
    //handle 404, don't let the browser log it 
}); 

URL, это хорошо, но если пользователь не существует, то апи возвращает ошибку 404 (по назначению).

Браузер регистрирует ошибку ... можно ли ее избежать и отобразить другое сообщение?

ответ

1

Инструменты разработчика браузера всегда будут отображать неудавшийся запрос, однако вы можете восстановить отклоненное обещание, возвращая значение в обратном вызове «fail».

См. here.

UPDATE

promise.success(function (data) { 
    //do something 
}).fail(function() { 
    return true; // or return { error: true, reason: "some reason" }; 
}); 
+0

это правильно. Браузер выполняет регистрацию значений неуспеха (404, 500 и т. Д.), А не используемую библиотеку JS. Можете ли вы вернуть что-то отличное от 404 (например, 204 - Нет содержимого, но браузер обрабатывает это как успешный ответ). Вы также можете вернуть API стандартизованный объект, в котором есть переменная успеха, и проверить это. Или вы просто игнорируете линию 404 в консоли ... – molson504x

+0

Понял! Большое спасибо! –

Смежные вопросы