ich eine Reihe von Stellen, die ich in Folge von einer anderen, so etwas wie zu senden versuchen:Angular2 Sequential POST Anrufe
if (this.ifoForm.valid) {
if (this.otherCheck && (!this.selectedLang || !this.selectedInterp)) {
swal('Error!', 'Please choose Language and Interpreter!', 'error');
} else {
// create CallTracker entity
this.createCallLog();
// create CTClient entity
this.createCTClient();
// create CTTeln entity
this.createCTTelns();
// create CTClientOffence entities
this.createCTClientOffences();
}
}
Die Sache ist die, dass CTClient
kann nicht w/oa CallTracker
erstellt werden (Anrufprotokoll) Einheit, gleich CTTelns
. Auch CTClientOffences
kann nicht erstellt werden bis CallTracker
und CTClient
Entitäten vorhanden sind.
ich in meinem Container-Komponente Entitätsobjekten, die instanziiert werden, wenn die Pfosten zurück:
private callLog: CallTracker;
private logClient: CTClient;
private logTelns: CTTeln[];
private logCharges: CTClientOffence[];
Zum Beispiel:
public onLogNotify(callLog): void {
// add new CallTracker entity to database
this._callTrackerService.addLog(callLog)
.subscribe(
res => this.callLog = res,
err => console.log(err)
);
}
Meine Frage ist: kann ich diese Objekte verwenden, um den Anruf zu beschränken zu den nachfolgenden POSTS, bis die entsprechenden Objekte instanziiert werden? das heißt, was kann ich anstelle von .timeout()
:
public onClientNotify(client): void {
// add new CTClient entity to database
this._ctClientService.addCTClient(client)
.timeout(2000) // wait for CallTracker entity to be made
.subscribe(
res => this.logClient = res,
err => console.log(err)
);
}
Ich denke, das ist das, was Sie suchen https://stackoverflow.com/documentation/rxjs/8247/common-recipes/28035/sending-multiple-sequential-http-Anfragen # t = 201707191342561190654 – martin
@martin Vielen Dank, dies scheint anwendbar, aber ich bin immer noch sehr neu zu rxjs und habe Probleme bei der Konzeption einer Lösung; Könnten Sie ein Beispiel mit meinem Code angeben? Ich habe derzeit jedes Unternehmen unter seinem eigenen Dienst. – Milo