, , , , , , debouncing. :
I , . , . , , groupBy , .
const epicRequest = action$ =>
action$
.ofType(MY_ACTION_TYPE)
.groupBy(action => action.somethingUnique)
.mergeMap(action$ =>
action$
.debounceTime(500)
.switchMap(action => {
})
);
, , , somethingUnique.
groupBy
: groupBy never complete() Observable, , , . , , . , groupBy , , , , - , , , , Observable, . - , . . : http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-groupBy durationSelector: function(grouped: GroupedObservable<K, R>): Observable<any>
1 debounced,
, . , - , .
, debouncing, , MY_ACTION_TYPE_DEBOUNCED, debouncing MY_ACTION_TYPE
const myActionTypeDebouncedEpic = action$ =>
action$
.ofType(MY_ACTION_TYPE_DEBOUNCED)
.debounceTime(500)
.map(action => ({
...action,
type: MY_ACTION_TYPE
}));
const myActionTypeEpic = action$ =>
action$
.ofType(MY_ACTION_TYPE)
.switchMap(action => {
});