2016-11-08 42 views
1

我有一個ReactJS & Redux應用程序,並將RxJS用於具有取消和錯誤處理的異步AJAX。我用來連接Redux和RxJS的中間件(用於Redux)是可重複觀察的。ReactJS Redux RxJS AJAX加載指示器

我不得不也可以用來處理錯誤,並取消對服務器的請求,這是史詩:

const RecipesEpic = action$ => 
action$.ofType(FETCH_RECIPES) 
    .mergeMap(action => { 
     return Observable.ajax({ 
      method: "get", 
      url: url 
     }) 
      .map(payload => { 
       return ({ type: FETCH_RECIPES_FULFILLED, payload }) 
      }) 
      .catch(error => Observable.of({ 
       type: FETCH_RECIPES_REJECTED, 
       payload: error 
      })) 
      .takeUntil(action$.ofType(FETCH_RECIPES_CANCELLED)) 
    }) 

export default RecipesEpic 

我試圖實現負載指示,首先我要登錄到控制檯請求完成了多少百分比(通過使用XHR2),然後我將實現UI。簡而言之:如何在RxJS DOM Request中實現XHR2下載進度?

我沒有在網上找到關於這個問題的任何資源,我希望其他人正在尋找這個問題將有一個答案。

謝謝!

回答

0

根據The RxJS Ajax Documentation你可以在你的Observable.ajax調用中提供一個progressObserver。您提供的觀察者將使用XHR2下載進度進行更新!

+0

酷!你能告訴我如何在代碼中使用progressObserver()嗎?我對XHR2也很新。 – shabenda

+0

任何幫助?大家?順便說一下,我怎麼也實現XHR上傳進度? – shabenda

+0

是的,此刻有一個錯誤。沒有工作:( – CpILL