【发布时间】:2018-12-22 04:50:52
【问题描述】:
我有这个函数,可以从 URL 获取 JSON 文件。 现在我只需要该文件中的一个随机对象,该对象显然是this.data。 但是当尝试在 .subscribe 函数之外使用 console.log(this.data) 时,我得到了未定义。我需要在函数的其余部分使用该值并将其返回给另一个函数吗?
这是我的代码:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
/*
Generated class for the AdsProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class AdsProvider {
adsUrl: string;
constructor(public http: HttpClient) {
console.log('Hello AdsProvider Provider');
}
getAds() {
this.adsUrl = 'an url';
console.log(this.adsUrl);
console.log('I can get ads');
// Nu vraag je de file van de server
let data: Observable<any> = this.http.get(this.adsUrl);
data.subscribe(result => {
this.data = result;
// Nu heb je de JSON file met de advertenties
});
console.log(this.data); // this gives me undefined
}
}
【问题讨论】:
标签: angular typescript ionic3