如何在Angular2中的Observable(subscribe)中设置公共变量的值

时间:2017-05-21 00:36:32

标签: javascript angular rxjs

我使用RxJS 订阅从我的服务中获取数据,然后将其传递给另一个函数。

一切正常但当我尝试将相同数据分配给公共变量以在某处使用时,它会返回 undefined ...

这是我的公共变量。

public prices: Array<any> = [];

这是我的功能:

getPriceData(book){

    //MarketService
    this.marketService.getPricesByBook(book).subscribe(data => {

        this.prices = data.payload;  // I want to assign the payload to a public variable to use later...

        //ChartingService
        this.price_data = this.chartService.getAveragePriceDataByTime(this.prices, this.interval);

    }, err => {
        console.log(err);
        return false;
    });

    console.log("Outside subscribe : ", this.prices); // Throws undefined 
}

请注意,我希望减少API调用,因为数据首先被加载( ngOnInit ),我只想让用户修改已加载的数据...... < / p>

我愿意接受有关缓存和/或将数据保存到 localStorage 的建议(如果是这样的话)

0 个答案:

没有答案