Мне нужно показать последние 5 элементов из бэкэнда.Я должен буферизовать последние 10 элементов из наблюдаемого, но наблюдаемое может иметь только 0..4 элемента и никогда не создавать буфер, поэтому мне нужно максимальное время 2000 мс.Проблема, с которой я столкнулся: bufferTime(2000, null, 5)
, но при этом возникают пустые массивы.Как я могу избежать наблюдаемых выбросов пустых массивов?Буфер должен всегда содержать последние 10 элементов и создавать новый буфер только при добавлении нового элемента.
// [A,B,C] - after 2s, buffer -> [A,B,C]
// [A,B,C] - after 2s, buffer -> [] --> AVOID THIS
// [A,B,C] - after 2s, buffer -> [] --> AVOID THIS
// [A,B,C,D,E] - after count 5, buffer -> [A,B,C,D,E]
// [A,B,C,D,E,F] - after count 5, buffer -> [B,C,D,E,F]
http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-bufferTime