【发布时间】:2018-08-28 21:03:24
【问题描述】:
我正在尝试使用我在SO 上找到的几种方法来解决我面临的订单问题,但均未成功。
我有一个方法,我正在为 leaflet 层的数组加载一些数据:
private loadSelectedTileLayersCapabilities(): void {
let tempTileLayer;
this.selectedTileLayerIds.forEach(
(selectedTileLayer: string) => {
tempTileLayer = this.getTileLayerById(selectedTileLayer);
this.capabilitiesService.getTileLayerDimensions(tempTileLayer.url, tempTileLayer.name, tempTileLayer.id)
.subscribe(
dimensions => this.displayNewTileLayer(dimensions)
);
}
);
}
然后我有一个方法,http 调用正在发生:
public getTileLayerDimensions(urlToFormat: string, tileLayerName: string, tileLayerId: string): Observable<Dimensions> {
const capabilitiesUrl = `serviceUrl`;
return this.httpClient.get(capabilitiesUrl, {responseType: "text"})
.map(res => {
// Doing stuff with data
return dataForLayer;
});
}
问题是,displayNewTileLayer(dimensions) 方法是按随机顺序调用的。有没有办法保留物品的存储顺序
selectedTileLayerIds数组?
【问题讨论】:
-
只是出于好奇..您是否有理由在单个请求中不将所有 id 作为数组发送并得到一个数组作为响应?
-
这就是我们提供服务的方式。它一次可以处理一层。
标签: angular rxjs angular-httpclient