[添加takeUntil停止触发rxJS的所有操作,可观察到redux]] << [

问题描述 投票:1回答:1
我正在尝试找出一种方法,在用户注销后取消所有HTTP请求。我创建了一个通用函数,负责创建ajax请求。这是功能

const createRequest = (ajaxParameters) => { return ajax(ajaxParameters).pipe( takeUntil([ofType("LOGOUT")]) ) };

并且我所有的史诗功能都在导入上述功能以发出HTTP请求。我在做这样的事情

const sendRequest = (url) => { xhr = createRequest(_.merge({}, requestDefaults, { method: "GET", url: url }, token)) xhr.pipe( map( // some code over here and triggering some actions over here ) ) }

问题是,每当我像上面一样添加takeUntil时,它都会停止触发所有史诗。知道我在这里做错了什么吗?

史诗代码

const fetchUserData = action$ => action$.pipe( ofType(user.FETCH_USER_DATA.PENDING), mergeMap(sendRequest(URL_OVER_HERE)) );


我正在尝试找出一种方法,在用户注销后取消所有HTTP请求。我创建了一个通用函数,负责创建ajax请求。这是函数const ...
reactjs redux rxjs rxjs6 redux-observable
1个回答
0
投票
我不知道[ofType("LOGOUT")]在这里做什么,但是最有可能的是,您想要的是pipeaction$关闭:
© www.soinside.com 2019 - 2024. All rights reserved.