承诺 Angular2 ngOnInit 这个
Promises Angular2 ngOnInit this
我正在尝试将 promise 中的值赋给变量 (属性)。我可以从 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 */ )
只是安排传递的代码供以后执行(当调用 returns 时)并继续执行以下语句。
所以你的代码似乎工作正常,只是检查无效。
我正在尝试将 promise 中的值赋给变量 (属性)。我可以从 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 */ )
只是安排传递的代码供以后执行(当调用 returns 时)并继续执行以下语句。
所以你的代码似乎工作正常,只是检查无效。