gpt4 book ai didi

angular - 来自可观察的数据始终是未定义的

转载 作者:行者123 更新时间:2023-12-03 08:27:08 24 4
gpt4 key购买 nike

我有一个返回对象数组的可观察值的服务

allFruits: Fruit[] = [
{
id: "1",
name: "fruit 1"
},
{
id: "2",
name: "fruit 2"
},
{
id: "3",
name: "fruit 3"
},
{
id: "4",
name: "fruit 4"
}
];
function getFruits {
return of(allFruits);
}

组件

allFruits: Observable<Fruit[]>;
constructor(
private fruitService: FruitService
) {
this.fruitService
.getFruits()
.pipe(first())
.subscribe(() => {
results => this.allFruits == results;
});

this.allFruits 始终未定义,并且其中没有任何值。如果我执行 console.log(results) 我确实得到了值

最佳答案

我假设您希望 allFruits 是一个数组而不是一个 Observable。那是对的吗?我还稍微更改了 subscribe lambda 函数。

allFruits: Fruit[];
constructor(
private fruitService: FruitService
) {
this.fruitService
.getFruits()
.pipe(first())
.subscribe(results => {
this.allFruits == results;
});

如果您打算将此服务与 async 管道结合使用,您可以执行如下操作:

allFruits: Observable<Fruit[]>;
constructor(
private fruitService: FruitService
) {
this.allFruits = this.fruitService
.getFruits()
.pipe(first());

然后,您可以将 allFruits 与模板中的异步管道一起使用。

关于angular - 来自可观察的数据始终是未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66287053/

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