我使用rxjs
做出幾個HTTP請求和我想的對象,看起來像落得:多RxJS Ajax請求
{
100: {
...response from api call...
},
205: {
...response from api call...
},
...etc...
}
這是我到目前爲止有:
const projectIds = [100, 205, 208, 300]
const source = Rx.Observable
.from(projectIds)
.flatMap(id => get(`projects/${id}/builds`))
.map(response => response['data'])
.zip(projectIds)
.toArray()
source.subscribe(pipelines => {
console.log(pipelines)
})
這給了我一個數組的數組,其中第一個元素是來自調用的響應,第二個元素是項目的ID。
問題是響應與項目ID不匹配,因爲響應以不同順序返回,具體取決於哪個請求首先完成。
如何保持順序(或至少知道哪個projectId與每個響應一起),同時最後還有一個對象(當前是一個數組)?