Is it possible to continue forkjoin http.get requests even if one of the requests fails.
I'm looking to a similar function of $q.allSettled in angular2.
See example : http://jsfiddle.net/Zenuka/pHEf9/
angular.module('qAllSettled', []).config(function($provide) {
$provide.decorator('$q', function($delegate) {
var $q = $delegate;
$q.allSettled = function(promises) {
return $q.all(promises.map(function(promise) {
return promise.then(function(value) {
return { state: 'fulfilled', value: value };
}, function(reason) {
return { state: 'rejected', reason: reason };
});
}));
};
return $q;
});
});
Kab
You could leverage the
catch
operator for each observable to intercept the error and return another observable in such cases.Here is a sample:
Uses Observable.forkJoin() to run multiple concurrent http.get() requests. The entire operation will result in an error state if any single request fails.
But you could put your additional GET request in the error handler: