Angular2 + http с интервалом

Я довольно плохо знаком с angular и rxjs. Я пытаюсь создать приложение angular2, которое получает некоторые данные из статически обслуживаемого текстового файла (локально на сервере), который я хотел бы получить и отобразить на Datamodel с использованием http-провайдера Angular2 и карты rxjs в фиксированное время.interval(5000), Чтобы отразить любые изменения в обслуживаемом текстовом файле.

С 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"
}

index.html import:

<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>

<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>

Ответы на вопрос(4)

Ваш ответ на вопрос