我有訂閱的功能,內部服務:角2調用函數內部認購循環
selectCar(carNumber) {
this.carService.getCarByNumerator(carNumber)
.subscribe((car) => {
console.log(carNumber);
//more stuff here
},
(err) => console.log(err)
);
}
我想調用這個函數內部的循環如下:
for(let carNumber of carNumbers) {
this.selectCar(carNumber);
}
問題是,有時候它可以像我期望的那樣工作,但有時訂單不在列表中。
E.g.該列表是:
45
67
89
但是當我看在控制檯中,我看到以下內容:
67
89
45
我怎麼能強迫的循環不要去下一個項目,直至當前函數調用完成?
您可以將您的功能更改爲遞歸功能,這將有助於增加成本。 –
正在對API /後端進行異步調用,但不能保證數據將按特定順序返回。你能簡單地對結果進行排序/排序嗎?否則,您可以考慮諸如[combineAll](https://github.com/ReactiveX/rxjs/blob/master/src/operator/combineAll.ts)或[Subject](https://github.com/Reactive-擴展/ RxJS/blob/master/doc/gettingstarted/subjects.md) –