shareReplay: могу ли я сбросить или установить размер буфера равным 0, чтобы новые подпункты должны были ждать нового выброса - PullRequest
0 голосов
/ 17 марта 2020

У меня есть следующие наблюдаемые:

this.roles$ = auth.User$
            .pipe(tap((val: JwtUser|null) => this.logger.debug('Session updated, updating permissions %o', val)))
            .pipe(switchMap(this.getRoles.bind(this)))
            .pipe(shareReplay({refCount: true, bufferSize: 1}));

Метод getRoles () выполняет HTTP-запрос каждый раз, когда пользователь $ излучает. Последнее выбранное значение воспроизводится для всех новых подписок. Однако когда пользователь $ излучает, я не хочу, чтобы подписки получали последнее значение. Вместо этого я хочу, чтобы они подождали только что доставленного. Я думал, что смогу добиться этого, сбрасывая / сбрасывая буфер всякий раз, когда выдает User $, но я не могу понять, как это сделать. Есть ли другой способ, который я мог бы попробовать или способ достичь этого?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...