У меня есть следующие наблюдаемые:
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 $, но я не могу понять, как это сделать. Есть ли другой способ, который я мог бы попробовать или способ достичь этого?
Спасибо!