gpt4 book ai didi

javascript - 如何在 Angular 2 的 promise 中调用类方法?

转载 作者:可可西里 更新时间:2023-11-01 02:31:44 26 4
gpt4 key购买 nike

如果我有一个 Angular 2 组件,并且我从返回异步 promise 或可观察对象的服务中获取数据,那么我该如何调用组件中的方法来显示该数据?

@Component({
moduleId: module.id,
selector: 'charts',
templateUrl: 'charts.component.html',
providers: [DataService]
})
export class ChartsComponent implements OnInit {

constructor(private dataService:DataService)

ngOnInit() {
this.getData();
}

getData(){
this.dataService.getData().then(function (data) {
this.drawChart(data);
});
}

drawChart(){
//implement drawing chart
}
}

问题在于“this.drawChart()”中的“this” promise 不再引用 ChartsComponent 类。如何在 promise 后调用类方法?

此外,我不能将 drawChart() 放入 promise 中,因为它需要使用其他类属性。

最佳答案

当您使用 Arrow functions 时, this 被保留:

getData(){
this.dataService.getData().then((data) => { // <-- changed here
this.drawChart(data);
});
}

关于javascript - 如何在 Angular 2 的 promise 中调用类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38754029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com