При щелчке пользователя я хочу, чтобы значок отображался в течение 3 секунд (то есть значок должен автоматически скрываться через 3 секунды). Я также хочу, чтобы только одно действие SHOW_BADGE регистрировалось, пока значок не будет скрыт. Я думаю, что для этого хорошо использовать debounceTime, однако время, когда скрытие стало несовместимым, когда я нажимаю несколько раз.
Увеличивает ли debounceTime задержку? Является ли debounceTime задержкой в себе? Как бы я исправить приведенный ниже пример, чтобы получить то, что я хочу?
export const badgeEpic = action$ =>
action$.ofType('SHOW_BADGE')
.pipe(
debounceTime(3000),
delay(3000),
mapTo({ type: 'HIDE_BADGE' })
);
Как предполагает кто-то в комментариях ниже, AuditTime решает эту конкретную проблему. Вот окончательный код для значка эпоса.
export const badgeEpic = action$ =>
action$.pipe(
ofType('SHOW_BADGE'),
auditTime(3000),
mapTo({ type: 'HIDE_BADGE' })
);