Angular 7:暂停正在进行的流请求并在处理数据块时继续

时间:2018-12-05 09:10:39

标签: angular stream rxjs angular7 rxjs6

早上好,宇宙的绝地绝望:)

我正在尝试使用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(秘密运算符)中是否有可能解决此问题的东西?

关于, 角帕达万。

0 个答案:

没有答案