刷新页面时lastValueFrom不可靠

问题描述 投票:0回答:1

我有一个 Angular/Django 应用程序,当我重复刷新页面时,在大约 10% 的情况下,lastValueFrom 的结果为空。不过,其余时间,我都能看到正确的数据。

这是我的代码:

async ngOnInit() {
    this.goals$ = this.store.select(state => state.shortGoals.shortGoals);
    this.goals = await lastValueFrom(this.goals$.pipe(take(1)));

我已尝试使用

delay
retry
timeout
以及解析器,但问题仍然存在。

angular async-await promise rxjs ngrx
1个回答
0
投票

您可以尝试使用

filter
运算符仅允许具有值的排放吗?

this.goals = await lastValueFrom(this.goals$.pipe(
  filter((data: any) => !!data),
  take(1),
);

如果这不起作用,您还可以尝试订阅可观察对象并获取数据。

this.goals$.pipe(
  takeUntilDestroyed(),
  filter((data: any) => !!data),
  take(1),
).subscribe((data: any) => {
  this.goals = data;
});
© www.soinside.com 2019 - 2024. All rights reserved.