後的訂閱我在那裏的每一標識的我在做一個Ajax請求並處理它們的結果出來的代碼下面是我的實際代碼的簡單複製和jsfiddle:繼續錯誤
var ids = [1,2,3,4,5,6];
var ids$ = (id) => {
return Observable.of(id);
};
var loadIds$ = (id) => {
if(id == 4) return xhr('/echo/jsoneee/', {id: id});
return xhr('/echo/json/', {id: id});
};
Observable.from(ids)
.concatMap(id => Observable.forkJoin(ids$(id), loadIds$(id)))
.catch((err, caught) => {
//get the id for which loadIds failed
//send the id to subscribe() and continue the subscription
return Observable.empty();
})
.subscribe(result => console.log(result))
但現在我需要修改代碼,以便如果發生錯誤,我將不得不取得id
,其中ajax請求失敗,然後繼續訂閱,就像沒有發生任何事情。我還沒有做到這一點。幫助真的很感激。
這是什麼應該做'.concatMap(ID => Observable.forkJoin(IDS $(ID),loadIds $(ID))) '? – martin
@martin這只是一個模擬,讓事情變得更簡單。但它可以是'forkJoin'或'zip',但其目的是'subscribe()'應該有'id'對象和作爲單個項目的'id' ajax請求的響應,因爲我正在其他內部進行處理訂閱和我需要這兩個數據。 – lbrahim