Szukam sposobu na "zawinięcie" wszystkich żądań $http
, aby móc wyświetlać obraz gif
za każdym razem, gdy aplikacja wykonuje pewne przetwarzanie. Chcę również użyć tego samego rozwiązania do innego przetwarzania w tle, a nie tylko $http
.
Powodem dlaczego pytam jest to, że zawsze trzeba ustawić mój processingIndicator
do true
a następnie przełączyć się z powrotem w moim success
funkcji, która nie jest elegancki w ogóle.
Jednym potencjalnie rozwiązaniem, które widzę, jest użycie funkcji, która przyjmuje funkcję jako parametr. Ta funkcja ustawi processingIndicator
na true
, wywoła funkcję, a następnie ustawi ponownie processingIndicator
na "false".
function processAjaxRequestSuccessFn(fooFn){
// display processing indicator
fooFn();
// hide processing indicator
}
A potem
$http.get(...).then(processAjaxRequestSuccessFn, processAjaxRequestErrorFn)
To rozwiązanie nie jest bardzo wygodne, ponieważ za każdym razem muszę powiadomić użytkownika, że coś się dzieje, muszę korzystać z tej funkcji.
Szukam sposobu automatyzacji tego procesu.
Jakieś inne pomysły?
Później edit
Inny pomysł mam jest rozszerzenie $http
z moim get
, post
, itd. Albo utworzyć usługę niestandardową, która ma podobne zachowanie. Ale wciąż niezbyt elegancko.