2016-11-08 45 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