Я не знаю, что там делает [ofType("LOGOUT")]
, но, скорее всего, вы хотите pipe
выключить action$
:
const createRequest = (ajaxParameters) => {
return ajax(ajaxParameters).pipe(
takeUntil(action$.pipe(ofType("LOGOUT")))
)
};
takeUntil
завершит вашу наблюдаемую, если он получает значение. Как у вас есть, он, вероятно, думает, что массив является наблюдаемым, а значение является оператором ofType
. Таким образом, он завершается еще до того, как что-либо начинается Вот почему вы должны слушать action$
.
В качестве еще одной оптимизации, вы можете немедленно pipe
отключить наблюдаемую xhr
:
const sendRequest = (url) => {
createRequest(_.merge({}, requestDefaults, {
method: "GET",
url: url
}, token))
.pipe(
map(
// some code over here and triggering some actions over here
)
)
}