使用角度服务返回的结果出错(未定义)

时间:2018-04-24 13:21:53

标签: angular service

所以我的Typescript类中有两个变量:

private myServiceSubscription: Subscription;
myVar: myDto[] = [];

在ctor中:

this.myServiceSubscription = this.deliveryPointService
        .getPostalAddresses()
        .subscribe(result => console.log(result));

我可以在控制台日志中看到从服务返回的预期结果(包含两个项目的列表) 但是,如果我使用另一个订阅:

.subscribe(result => this.myVar);

和(在订阅之外):     的console.log(this.myVar [0]);

然后我注意到这个.myVar未定义。

为什么console.log(结果)显示正确的结果,但是this.myVar没有?

这是角4。

1 个答案:

答案 0 :(得分:4)

现在,您不会对服务方法的结果做任何事情。您必须将返回的项目分配给您的变量:

.subscribe(result => {
   this.myVar = result;
   console.log(this.myVar);
});