Ich habe zwei (mehrere) asynchrone Funktionen in einem Observable
gewickelt und möchte sie alle zusammen laufen und überprüfen, wann immer einer einen Fehler hat oder abgeschlossen hat. Hier ist, was ich tue:RXjs - weiter zu hören auch nach Fehler
var observables = [];
observables.push(new Observable((observer:any) => {
async1(options, (error, info) => {
if (error) {
observer.error(error);
} else {
observer.next(info);
observer.complete();
}
});
}))
observables.push(new Observable((observer:any) => {
async2(options, (error, info) => {
if (error) {
observer.error(error);
} else {
observer.next(info);
observer.complete();
}
});
}))
Observable.forkJoin(observables).subscribe(
data => {
console.log(data);
},
error => {
console.log(error);
}
)
Hier ist mein Problem ... wenn beide Asynchron-Funktionen erfolgreich abgeschlossen werden, es data =>{}
ruft und gibt beiden Ergebnisse in einem Array.
Wenn eine der beiden Funktionen fehlschlägt, wird es einmal error =>{}
aufrufen und das war's. Ich würde gerne jeden Fehler hören, wie kann ich das tun?
ein Weg ist, einen Fehler nicht, werfen aber einen Fehlercode, a la node.js '{Ergebnis passieren, irr} ' – user3743222