Я хочу сделать перехватчик angularJS, который, когда клиент отправляется в автономном режиме, вместо ошибки имеет кешированный ответ, как если бы он не был ошибкой.Угловой js-перехватчик, который возвращает кешированный ответ
Что я сделал до сих пор было сделать перехватчик, который кэширует запросы API:
app.factory('httpCachingInterceptor', function ($q, apiCache) {
return {
'response' : function(response) {
// cache the api
if (response.config.url.indexOf('api/') > 0)
apiCache.addApiCache(response.config.url, response.data);
return response;
},
'responseError' : function(rejection) {
if (rejection.status == -1) {
// get the data from apiCache
//
apiCache.getApiCache(rejection.config.url, function(data) {
// build a new promise and return it as a valid response
})
}
return $q.reject(rejection);
}
}
})
Я заметил, что когда офлайн rejection.status -1 так, что когда я проверить, если запрос был выполнен в автономном режиме.
Мой вопрос в том, как я построю ответ? Должен ли я сделать новое обещание или я могу обновить отклонение?