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