如果我们同时发布太多项目,我们的服务就会超时,我正在寻找的是RxJs运算符,它将允许我将帖子序列化为多个帖子,例如
merge(
chunk(items, 50).map(
chunkItems => this.http.post('endPoint', chunkItems)
)
).pipe(
scan((errors, current) => [...errors, ...current], []);
)
但是我不希望它们像merge will那样并行运行,我希望它像一个序列化调用的switchMap。
chunk是将数组分解为较小块的函数
export const chunk = (arr, len) => {
let chunks = [],
i = 0,
n = arr && arr.length;
while (i < n) {
chunks.push(arr.slice(i, (i += len)));
}
return chunks;
};
答案 0 :(得分:1)
假设您的dataList类型的数组的协议计数为3,请尝试执行此操作。
glutPostRedisplay()
答案 1 :(得分:0)
我所做的是
from(chunk(items, 50)).pipe(
concatMap(chunkItems => this.http.post('endPoint', chunkItems)),
scan((errors, current) => [...errors, ...current], [])
);