ReactJS Redux RxJS AJAX加载指示器

时间:2016-11-08 14:32:38

标签: ajax reactjs redux rxjs rxjs-dom

我有一个ReactJS& Redux应用程序,并使用RxJS进行异步AJAX,具有取消和错误处理功能。我用来连接Redux和RxJS的中间件(用于Redux)是redux-observable。

我向服务器发出了处理错误和取消的请求,这就是史诗:

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下载进度?

我没有在网上找到关于这个问题的任何资源,我希望其他正在搜索这个问题的人会有答案。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据The RxJS Ajax Documentation,您可以在Observable.ajax调用中提供progressObserver。您提供的观察者将使用XHR2下载进度进行更新!