gpt4 book ai didi

rxjs - 带前导选项的 BufferTime

转载 作者:行者123 更新时间:2023-12-02 03:18:53 25 4
gpt4 key购买 nike

我有一些想要缓冲的事件,但我只想在第一个元素之后缓冲。

[------bufferTime------]

Input over time:
[1, 2, 3, -------------|---4, 5, 6 ----------------]


Output over time:
[1]-----------------[2,3]---[4]------------------[5,6]

有办法做到这一点吗?

最佳答案

我认为这可以通过将流分成两部分来解决:firstValue$ 和 afterFirstValue$,然后合并它们。

import { merge } from 'rxjs';
import { take, skip, bufferTime } from 'rxjs/operators';

...

firstValue$ = source$.pipe(
take(1)
);

afterFirstValue$ = source$.pipe(
skip(1),
bufferTime(5000)
);

merge(firstValue$, afterFirstValue$)
.subscribe(result => {
// Do something
});

回答有关主题的后续问题

所以我这样做是为了让原始来源成为这里的主题。这并不完全是你所描述的,但我想也许这就是你想要的。

  import { merge, Subject } from 'rxjs';
import { take, skip, bufferTime } from 'rxjs/operators';
import { Source } from 'webpack-sources';

...

source$ = new Subject();

firstValue$ = source$.pipe(
take(1)
);

afterFirstValue$ = source$.pipe(
skip(1),
bufferTime(5000)
);

merge(firstValue$, afterFirstValue$)
.subscribe(result => {
// Do something
});

source$.next(1);
source$.next(1);
source$.next(1);

关于rxjs - 带前导选项的 BufferTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55404098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com