/ / observable para enviar en paralelo en función de la condición y el tiempo de rebote - rxjs, redux-observable

observable para enviar en paralelo en función de la condición y el tiempo de rebote - rxjs, redux-observable

Estoy jugando con redux-observable para disparar doscomportamiento. La primera acción se basó en la condición cuando es verdadera y la segunda acción debería activarse utilizando el rebote a los 500 segundos. Ambos observables se pueden ejecutar de forma paralela y no dependen unos de otros.

Hasta ahora, se me ocurrió lo siguiente que no es un trabajo.

export const updateContent = (content$, { getState }) => {
return content$.ofType(actionTypes.REQ_CHANGE_EDIT)
.flatMap(action =>
Observable.forkJoin(
Observable.if(() => isChanged(getState()),
Observable.of(({ type: actionTypes.CHANGE_EDIT, changed: true }))),
Observable.of({ type: actionTypes.CACHE_CONTENT, isCached: false }).debounceTime(500),
));

};

Respuestas

0 para la respuesta № 1

intente utilizar combineLatest en lugar de forkjoin y force emita un valor inicial del operador .if

export const updateContent = (content$, { getState }) => {
return content$.ofType(actionTypes.REQ_CHANGE_EDIT)
.flatMap(action =>
Observable.combineLatest(
Observable.if(() => isChanged(getState()),
Observable.of(({ type: actionTypes.CHANGE_EDIT, changed: true }))).startWith(null),
Observable.of({ type: actionTypes.CACHE_CONTENT, isCached: false }).debounceTime(500),
));

};