我對angular和rxjs很陌生。我正在嘗試創(chuàng)建一個angular2應(yīng)用程序,該應(yīng)用程序從靜態(tài)服務(wù)的文本文件(位于服務(wù)器本地)中獲取一些數(shù)據(jù),我想使用Angular2的http提供程序和rxjs的地圖在固定時間檢索并映射到Datamodel interval(5000)。反映對提供的txt文件的任何更改。有了rxjs 4.x,我知道您可以O(shè)bservable.interval(5000)用來完成這項工作,但是rxjs 5中似乎并不存在。我的解決方法當(dāng)前使用刷新整個應(yīng)用程序來<meta http-equiv="refresh" content="5" >重新加載整個頁面,從而重新加載數(shù)據(jù)。因此,我真正想要的是某種與可觀測對象進行此操作的方法,也許可以檢查是否發(fā)生了任何更改?;蛑皇侵匦录虞d數(shù)據(jù)。任何幫助或其他/更好的方式將不勝感激。到目前為止,我有:@Injectable()export class DataService { constructor(private http:Http){} getData(url) { return this.http.get(url) .map(res => { return res.text(); }) .map(res => { return res.split("\n"); }) .map(res => { var dataModels: DataModel[] = []; res.forEach(str => { var s = str.split(","); if(s[0] !== "") { dataModels.push(new DataModel(s[0], parseInt(s[1]), parseInt(s[2]))); } }); return dataModels; }) }}@Component({selector: 'my-app',template: `Some html to display the data`,providers: [DataService],export class AppComponent {data:DataModel[];constructor(dataService:DataService) {}ngOnInit() { this.dataService.getData('url').subscribe( res => { this.data= res; }, err => console.log(err), () => console.log("Data received") ); }}依賴項:package.json"dependencies": { "angular2": "^2.0.0-beta.3", "bootstrap": "^4.0.0-alpha.2", "es6-promise": "^3.0.2", "es6-shim": "^0.33.13", "jquery": "^2.2.0", "reflect-metadata": "^0.1.2", "rxjs": "^5.0.0-beta.0", "systemjs": "^0.19.20", "zone.js": "^0.5.11"},"devDependencies": { "typescript": "^1.7.5"}
- 3 回答
- 0 關(guān)注
- 569 瀏覽
添加回答
舉報
0/150
提交
取消