Angular2 - Verketten von asynchronen Dienstaufrufen (http-Anforderungen) in einer Komponente?

Ich habe eine Komponente, die zuerst einen Dienst aufrufen muss, der etwas POST. Dann möchte ich in derselben Komponente warten, bis der POST abgeschlossen ist, um einen anderen Dienst aufzurufen, der Daten abruft.

Wie kann ich den GET-Aufruf warten lassen, bis der POST-Aufruf beendet ist?

In new-version.component.ts:

private createNewVersion(value) {
    ...

    // create new version, then call on all available versions

    // POST call
    this._newVersionService.createNewVersion(vnr);

    // GET call
    this._versionService.getAvailableVersions(); 

    ...
}

In new-version.service.ts:

export class NewVersionService {

response$: Subject<any>;

constructor(private _http: Http) {
    this.response$ = new BehaviorSubject<any>(null);
 }

public createNewVersion(versionNr) {    
    this._http.post('http://localhost:8080/services/' + versionNr, null, {
        method: 'POST',
    })
    .subscribe(response => {
        this.response$.next(response.status);
    },
    error => console.error(error));
}

Vielen Dank

Antworten auf die Frage(10)

Ihre Antwort auf die Frage