В настоящее время я добавляю удобную панель поиска в свое приложение, но я застрял в том, чтобы заставить панель поиска использовать rxjs для отправки действий, чтобы фактически выполнить запрос ajax.
Пользователь может инициироватьпоисковый запрос тремя способами:
- набор текста с временем отката 2000 (работает само по себе)
- нажатие ввода после ввода (работает самостоятельно)
- нажатие на кнопку (работает само по себе)
Однако, если пользователь быстро нажимает «Enter» после ввода, в то время как таймер отладки все еще тикает, наблюдаемая отскок все еще выдает егозначение, то же самое можно сказать, если пользователь нажимает кнопку поиска сразу после ввода.
Я пробовал и "расу", и "слияние".Раса подписывается только на первую наблюдаемую для излучения, в то время как слияние с «DifferentUntilChanged» вроде работает, но это не позволит мне запустить один и тот же поиск дважды, что очень важно.
Любая помощь будет оценена.
Я сделал кодовую коробку: https://codesandbox.io/s/q3xpo2v1z6?fontsize=14