javascript - promise Angular2 ngOnInit 这个

标签 javascript typescript angular es6-promise

我正在尝试将 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 */ )

只是安排传递的代码供以后执行(当调用返回时)并继续执行以下语句。

所以你的代码似乎工作正常,只是检查无效。

关于javascript - promise Angular2 ngOnInit 这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34546245/

相关文章:

javascript - 将每 3 个字母转换为大写

javascript - 带有四个淡入淡出图像的幻灯片无法更改 div 的位置

javascript - 在 AngularJS 中异步调用 hprose.httpclient

javascript - 是否可以避免使用 Django 和 Backbone.js 双模板?

javascript - 关闭表单时从 react-hook-form 重置值

typescript - 如何通过换能器功能组成对象的变换

css - 更改 Angular 日期选择器 Material 组件的颜色

Angular Jest 旁观者在测试另一个服务时模拟服务依赖性

node.js - 有关为node.js安装angular cli的问题

javascript - 更改检测在 Angular 2 的指令事件输出中不起作用