【发布时间】:2016-05-12 10:46:58
【问题描述】:
我有一个组件,它首先需要调用一个发布内容的服务。然后在同一个组件中,我想等到 POST 完成后,再调用另一个获取数据的服务。
如何让 GET 调用等待 POST 调用完成?
在新版本.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();
...
}
在新版本.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));
}
谢谢!
【问题讨论】:
-
我在这里有一个链式调用的例子:syntaxsuccess.com/viewarticle/angular-2.0-and-http我的例子是一个get,但你可以把它改成一个帖子
标签: http asynchronous angular chaining