Spec-Zone.ru › RxJS

bufferTime

function stable operator

Буферизует значения Observable-источника на определённый период времени.

bufferTime<T>(bufferTimeSpan: number, ...otherArgs: any[]): OperatorFunction<T, T[]>

Параметры

bufferTimeSpan number

Количество времени для заполнения каждого буферизованного массива.

otherArgs any[]

Другие параметры настройки, такие как:

  • bufferCreationInterval - интервал, через который начинаются новые буферы;
  • maxBufferSize - максимальный размер буфера;
  • scheduler - планировщик, на котором планируются интервалы, определяющие границы буфера.

Возвращает

OperatorFunction<T, T[]>: Функция, которая возвращает Observable массивов буферизованных значений.

Описание

Сбор значений из прошлого в виде массива и периодическое их излучение во времени.

bufferTime marble diagram

Буферизует значения из источника на определённый период времени bufferTimeSpan. Если необязательный аргумент bufferCreationInterval не задан, буфер излучается и сбрасывается каждые bufferTimeSpan миллисекунд. Если bufferCreationInterval задан, этот оператор открывает буфер каждые bufferCreationInterval миллисекунд и закрывает (излучает и сбрасывает) буфер каждые bufferTimeSpan миллисекунд. Когда необязательный аргумент maxBufferSize задан, буфер будет закрыт либо через bufferTimeSpan миллисекунд, либо когда он содержит maxBufferSize элементов.

Примеры

Ежесекундно излучать массив последних событий кликов

import { fromEvent, bufferTime } from 'rxjs';

const clicks = fromEvent(document, 'click');
const buffered = clicks.pipe(bufferTime(1000));
buffered.subscribe(x => console.log(x));

Каждые 5 секунд излучать события кликов из следующих 2 секунд

import { fromEvent, bufferTime } from 'rxjs';

const clicks = fromEvent(document, 'click');
const buffered = clicks.pipe(bufferTime(2000, 5000));
buffered.subscribe(x => console.log(x));

Перегрузки

bufferTime(bufferTimeSpan: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

Параметры

bufferTimeSpan number
scheduler SchedulerLike

Необязательно. Значение по умолчанию — undefined.

Возвращает

OperatorFunction<T, T[]>

bufferTime(bufferTimeSpan: number, bufferCreationInterval: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

Параметры

bufferTimeSpan number
bufferCreationInterval number
scheduler SchedulerLike

Необязательно. Значение по умолчанию — undefined.

Возвращает

OperatorFunction<T, T[]>

bufferTime(bufferTimeSpan: number, bufferCreationInterval: number, maxBufferSize: number, scheduler?: SchedulerLike): OperatorFunction<T, T[]>

Параметры

bufferTimeSpan number
bufferCreationInterval number
maxBufferSize number
scheduler SchedulerLike

Необязательно. Значение по умолчанию — undefined.

Возвращает

OperatorFunction<T, T[]>

См. также

  • buffer
  • bufferCount
  • bufferToggle
  • bufferWhen
  • windowTime

© 2015–2022 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors.
Code licensed under an Apache-2.0 License. Documentation licensed under CC BY 4.0.
https://rxjs.dev/api/operators/bufferTime

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API