0
我有一組,我嘗試按順序發送彼此的帖子,是這樣的:Angular2順序POST調用
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();
}
}
的事情是,CTClient
無法創建瓦特/ OA CallTracker
(呼叫記錄)實體,與CTTelns
相同。 CTClientOffences
也不能創建,直到CallTracker
和CTClient
實體存在。
我在實例化的我的容器組件實體對象時的職位返回:
private callLog: CallTracker;
private logClient: CTClient;
private logTelns: CTTeln[];
private logCharges: CTClientOffence[];
例如:
public onLogNotify(callLog): void {
// add new CallTracker entity to database
this._callTrackerService.addLog(callLog)
.subscribe(
res => this.callLog = res,
err => console.log(err)
);
}
我的問題是:我可以使用這些對象來限制通話到後續的POSTS,直到適當的對象被實例化?即什麼我可以使用,而不是.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)
);
}
我認爲這是你在找什麼https://stackoverflow.com/documentation/rxjs/8247/common-recipes/28035 /發送多重連續http請求#t = 201707191342561190654 – martin
@馬丁謝謝你,這似乎適用,但我仍然是非常新的rxjs和我有麻煩概念化解決方案;你能用我的代碼提供一個例子嗎?我目前每個實體都有自己的服務。 – Milo