[英]Promises Angular2 ngOnInit this
我正在尝试将一个诺言中的值分配给一个变量(属性)。 我可以从console.log检索值。 但是,当我尝试将其分配给“ this”时,它将无法工作。 请参阅下面的代码:
export class AppComponent implements OnInit {
graphData:any;
constructor(public _RelaticsService:RelaticsService, public _RelaticsDataTransformService:RelaticsDataTransformService) {
}
ngOnInit() {
this._RelaticsService.GetData('persons', '37035202-abf8-4822-b8a5-b492c97a4c83', '123456')
.then((val) =>
this._RelaticsDataTransformService.ObjectTreeTransformation(val)
)
.then((val) => {
console.log(val); // logs object
this.graphData = val; // assigns object to this.graphdata
console.log(this.graphData); // logs object
})
.catch((err) => console.log("rejected:", err));
console.log(this.graphData) // logs undefined??
}
}
console.log(this.graphData) // logs undefined??
在执行之前
this._RelaticsService.GetData('persons', '37035202-abf8-4822-b8a5-b492c97a4c83', '123456')
.then((val) =>
this._RelaticsDataTransformService.ObjectTreeTransformation(val)
)
.then((val) => {
console.log(val); // logs object
this.graphData = val; // assigns object to this.graphdata
console.log(this.graphData); // logs object
})
.catch((err) => console.log("rejected:", err));
这个
this._RelaticsDataTransformService.ObjectTreeTransformation(val)
)
.then( /* passed code */ )
只是计划传递的代码以供以后执行(当调用返回时),然后继续执行以下语句。
因此,您的代码似乎可以正常工作,只是检查无效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.