javascript – 如何在构造函数Angular 2上使用Async调用注入服务

这是问题:我有一个服务在构造函数中发出HTTP请求:

    constructor(public http: Http, public geolocation: Geolocation) {
        this.http = http;
        this.geolocation = geolocation;
        //Http request... this will set variable forecast of the class when complete.
        this.getForecast(16);
    }

然后我在这样的组件中注入该服务:

    constructor(public connector: ApiConnector) {
         this.forecast = connector.forecast;
    }

如果我尝试在组件装饰器上使用组件类的预测成员,就像我在这里一样:

@Component({
    selector: 'app',
    directives: [MainForecast, DailyForecast],
    template: `
        <main-forecast [main-weather]="forecast"></main-forecast>
        <daily-forecast [weather-list]="forecast.list"></daily-forecast>
    `,
})

I get an error, “Cannot read property ‘list’ of undefined in…”

是否有可能在组件构造函数中使用promises?

最佳答案
Angular2建议在构造函数内部的ngOnInit内部进行繁重的工作.

ngOnInit是一个生命周期钩子/事件.

转载注明原文:javascript – 如何在构造函数Angular 2上使用Async调用注入服务 - 代码日志