angular - Angular 7:暂停正在进行的流式传输请求并在处理数据块时继续
问题描述
早上好,角宇宙的伟大绝地:)
我正在尝试使用 Angular 7 和 RxJS 6 来实现以下想法。我有一个 REST API 端点,它以块的形式流式传输数据。当我收到一大块数据时,我希望能够暂停请求(以便 Angular HttpClient 那时不会接收数据)。当我完成数据处理后,我想获得另一部分。该端点可能会流式传输大型数据块,我不想用这些来填充内存。相反,我想分块进行。
在我的想象中,虚拟代码将是这样的:
const req = new HttpRequest(
'POST',
'localhost:9000',
{},
{
reportProgress: true,
responseType: 'json'
});
const source = http.request(req)
const pause = new BehaviourSubject(false);
source
.pipe(pauseStream(pause))
.getSearchProductsStream.subscribe(dataChunk => {
pause.next(true);
doOperations(dataChunk)
pause.next(false);
})
在 Angular(一些特定的 HttpClient 设置)或 RxJS(秘密运算符)中是否有类似的东西可以解决这个问题?
关于,Angular padawan。
解决方案
推荐阅读
- java - 使用 Spring RestTemplate 时如何避免 [] 的双重编码?
- c# - 为什么可以将静态类的公共静态字段设置为等于不同静态类的公共静态字段?
- google-cloud-platform - 为桶存储中的每个对象添加规则生命周期
- c++ - 将非构造函数参数变量从派生类传递给基类构造函数会导致奇怪的行为
- c++ - 将像素坐标转换为笛卡尔坐标
- ios - 确定集合视图中的滚动位置
- c# - 使用 await 将元素添加到数据库 C# 时出错
- excel - Excel JavaScript API 文件系统交互、系统调用和 API 调用?
- java - 时间选择器使我的应用程序崩溃并出现错误:E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system
- amazon-web-services - AWS Redshift DB 用户名验证约束是否发生了变化?