私は最初に何かPOSTと呼ばれるサービスを呼び出す必要があるコンポーネントを持っています。その後、同じコンポーネントで、POSTが完了するまで待って、データを取得する別のサービスを呼び出します。Angular2 - コンポーネント内で非同期サービス呼び出し(http要求)をチェーンする方法
POST呼び出しが完了するまでGET呼び出しを待機させるにはどうすればよいですか?新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();
...
}
新しい-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));
}
ありがとう! 変更createNewVersionへ:
public createNewVersion(versionNr) {
return this._http.post('http://localhost:8080/nod_inspection_plugin/services/' + versionNr, null, {
method: 'POST',
});
}
は、その後、あなたの呼び出しで:
私はここで連鎖呼び出しの例を持っています:http://www.syntaxsuccess.com/viewarticle/angular-2.0-and-http私のサンプルはgetですが、投稿に変更することができます – TGH