我对angular和rxjs很陌生。我正在尝试创建一个angular2应用程序,该应用程序从静态服务的文本文件(位于服务器本地)中获取一些数据,我想使用Angular2的http提供程序和rxjs的地图在固定时间检索并映射到Datamodel interval(5000)。反映对提供的txt文件的任何更改。有了rxjs 4.x,我知道您可以Observable.interval(5000)用来完成这项工作,但是rxjs 5中似乎并不存在。我的解决方法当前使用刷新整个应用程序来<meta http-equiv="refresh" content="5" >重新加载整个页面,从而重新加载数据。因此,我真正想要的是某种与可观测对象进行此操作的方法,也许可以检查是否发生了任何更改。或只是重新加载数据。任何帮助或其他/更好的方式将不胜感激。到目前为止,我有:@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 回答
- 3 回答
- 0 关注
- 535 浏览
添加回答
举报
0/150
提交
取消