/ / observable pour envoyer en parallèle en fonction de la condition et du temps d'anti-rebond - rxjs, redux-observable

observable pour envoyer en parallèle en fonction de la condition et du temps d'anti-rebond - rxjs, observable par redux

Je joue avec redux-observable pour déclencher deuxactes. La première action était basée sur la condition vraie et la deuxième action devait être déclenchée avec rebond à 500 secondes. Les deux observables peuvent être exécutés en parallèle et ne dépendent pas l'un de l'autre.

Jusqu'ici, je suis arrivé avec ce qui suit qui n'est pas un travail.

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),
));

};

Réponses:

0 pour la réponse № 1

essayez d'utiliser combineLatest au lieu de forkjoin et forcez une valeur initiale émise par l'opérateur

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),
));

};