ijj*_*jjo 3 reactive-programming rxjs
假设我有一个从数组创建的Observable流,如下所示:
const items: Items = [{},{},{},{},{},...];
const obs$ = from(items).pipe(
mergeMap(items => {
return this.getData(items);
})
);
Run Code Online (Sandbox Code Playgroud)
正如此代码所示,getData()将为数组中的每个项调用.我想要做的是将items数组分成N个相等大小的数组,然后发出这些数组.然后getData()将使用单个数组而不是原始项数组中的每个项调用.
基本上我需要toArray()运算符的变体,但只需要预先定义的流的部分.
Gog*_*eli 10
您需要具有多种变体的缓冲区运算符,它们是:buffer, bufferCount, bufferTime, bufferToggle, bufferWhen.缓冲官方文档
例如,在您的情况下,在3个大小的数组中划分数组将是:
const items: Items = [{},{},{},{},{},...];
const obs$ = from(items).pipe(
bufferCount(3),
mergeMap(items => {
return this.getData(items);
})
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |