【发布时间】:2017-04-01 02:33:26
【问题描述】:
我是 angular2 typescript 和 rxjs 和 observables 的新手。
我正在尝试使用此代码从 api 获取信息
let Alertsanswer = this.LogService.getAlertsForClient(this.userId);
var a = Alertsanswer.subscribe((response) => {
this.alerts=JSON.parse(response)
console.log(this.alerts) //give the right response.
},
error => {
var err = error;
alert(err);
}
)
正如您在订阅中看到的那样,我初始化了一个私有变量:“this.alerts”
在订阅之外这个变量有未定义的值 console.log(this.alerts) //给出未定义的。
在组件 doom 中使用 this.alert 也是未定义的 这给出了一个错误:
<div>{{alerts}}</div>
第一个问题:为什么“”this.alerts inside subscribe 赋予控制台正确的价值,但外部(包括厄运)总是未定义。
第二个问题:我知道来自服务器的值是异步的,如果我有更多的代码可以传递答案,我将在哪里写它(回调),它会在订阅中吗? 订阅是什么意思? 感谢您的帮助
【问题讨论】:
-
@Maantu Das 你能称之为“Alertsanswer”订阅吗?我收到未定义的错误。