Доброе утро, великий джедай угловой мироздания :)
Я пытаюсь реализовать следующую идею с Angular 7 и RxJS 6. У меня есть конечная точка REST API, которая передает данные в виде фрагментов.Поскольку я получаю один кусок данных, я хотел бы иметь возможность приостановить запрос (чтобы угловой 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 падаван.