У меня есть наблюдаемый поток, который испускает последовательность чисел.Каждое излучаемое значение требует серьезного обновления пользовательского интерфейса для изменения положения компонентов.
Поэтому я использовал оператор sampleTime()
для регулировки выходных значений в периодические интервалы, и это прекрасно работает.
Дляпример;
observable.pipe(sampleTime(250)).subscribe(value => console.log(value));
// outputs (periods are delays)
...10...11...12......................14...15...16
Это прекрасно работает при регулировании обновлений пользовательского интерфейса на более медленные интервалы обновлений.
Я столкнулся с проблемой, что sampleTime(250)
будет префикс всех передаваемых значений сзадержка 250 мс.Таким образом, в приведенном выше примере значение 14 не выдается до 250 мс позже.Проблема в том, что перед значением 14. была длительная задержка .
Поэтому мне нужен наблюдаемый поток, который регулирует значения на 250 мс, используя sampleTime (), но я не хочу, чтобы начальная задержка составляла 250 мс дляпервое значение после периода простоя.
Например;
// currently
...10...11...12......................14...15...16
^^^ remove these dots ^^^ remove these dots
// what I really want
10...11...12...................14...15...16
Не могу придумать лучшего способа объяснить это.