我已经使用RXJS创建计时器:
let timer1value = null;
let timeFinish = 30;
let finishDate = new Date();
return timer(1000)
.pipe(
takeWhile(() => new Date() < finishDate),
finalize(() => {
timeFinish = finishDate;
})
)
.subscribe((t) => {
timer1value = t;
});
我需要创建一些计时器并在页面上显示结果:
{{timer1value}}
因此,我已将观察者添加到数组this.timers
:
this.timers.push(timer(1000)
.pipe(
takeWhile(() => new Date() < finishDate),
finalize(() => {
timeFinish = finishDate;
})
));
然后如何获取订阅中每个计时器的模板实际值?
{{timer2value}}
{{timerNvalue}}```
您使用ngFor循环了timers数组,然后使用异步管道解开了observable的值
<ng-container *ngFor="let timer of timers; let i = index;">
Timer {{ index }} is {{ timer | async }}<br>
</ng-container>