gpt4 book ai didi

typescript - Angular 2 - 在 (observableData | async) 尚未解析时显示加载信息

转载 作者:太空狗 更新时间:2023-10-29 17:00:47 25 4
gpt4 key购买 nike

正如标题所说,我想拥抱 rxjs Observables 的力量。

我现在做什么:

// dataview.html
<div *ngIf="isLoading">Loading data...div>
<ul *ngIf="!isLoading">
<li *ngFor="let d of data">{{ d.value }}</li>
</ul>


// dataview.ts

data: any[] = [];
isLoading: boolean = false;

getData() {

this.isLoading = true;
this._api.getData().subscribe(
data => {
this.data = data;
this.isLoading = false;
},
error => {
this.error = error;
this.isLoading = false;
});
}

我想做的事情:

<强>1。在我的模板中使用 async 管道

  1. data设为Observable数组

  2. 仍然为用户显示加载信息

我是干净代码的忠实拥护者,那么如何使用 rxjs 和 Angular 2 很好地完成这件事呢?

最佳答案

我就是这样做的。此外,我在变量名的和处使用 $ 来提醒我这是一个流。

// dataview.html
<div *ngIf="isLoading$ | async">Loading data...</div>
<ul *ngIf="!(isLoading$ | async)">
<li *ngFor="let d of data">{{ d.value }}</li>
</ul>


// dataview.ts

data: any[] = [];
isLoading$: BehaviorSubject<boolean> = new BehaviorSubject(false);

getData() {

this.isLoading$.next(true);

this._api.getData().subscribe(
data => {
this.data = data;
},
error => {
this.error = error;
},
complete => {
this.isLoading$.next(false);
});
}

关于typescript - Angular 2 - 在 (observableData | async) 尚未解析时显示加载信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com