Restangular-Aufruf in einem Abfangjäger wiederholen
Die offizielle restangular Dokumentationbiete Dieses Codebeispiel, um eine Anforderung im ErrorInterceptor erneut zu versuchen:
var refreshAccesstoken = function() {
var deferred = $q.defer();
// Refresh access-token logic
return deferred.promise;
};
Restangular.setErrorInterceptor(function(response, deferred, responseHandler) {
if(response.status === 403) {
refreshAccesstoken().then(function() {
// Repeat the request and then call the handlers the usual way.
$http(response.config).then(responseHandler, deferred.reject);
// Be aware that no request interceptors are called this way.
});
return false; // error handled
}
return true; // error not handled
});
Wie in den Kommentaren angegeben, werden beim zweiten Versuch jedoch keine Interceptors ausgelöst, da $ http direkt verwendet wird.
Gibt es eine Möglichkeit, die zweite Anforderung auch durch die Restangular-Pipeline zu führen und den ErrorInterceptor auszuführen?