HTTP:http-request后未定义局部变量

时间:2016-09-13 17:57:41

标签: http angular typescript

在进行http调用时,我想将传入的json分配给组件中的局部变量,并在视图中显示它。

服务:

type = "sp"

组件:

getCases(){
    return this.http.get('someUrl')
        .map((res: Response) => res.json())
}

2 个答案:

答案 0 :(得分:1)

您正在callback中分配案例,并且console.log将在回调完成之前运行。因此你得到了不确定。

ngOnInit() {
        this._service.getCases()
            .subscribe(cases => {
             this.cases = cases;
             console.log(this.cases) // will print values...
           });
        console.log(this.cases) // undefined!!
    }

类似于ngAfterContentInit的情况,它将在回调返回之前运行,因此未定义。

希望这会有所帮助!!

答案 1 :(得分:0)

你可以用这个:

b

由于订阅功能,代码会对异步请求的结果做出反应,并将返回的json反序列化为对象。现在,返回的JSON对象将绑定到视图。