2016-08-20 4 views
0

Я пытаюсь создать пример приложения реального времени с Angular 2.0.0RC5 и RxJS 5.0.0-beta.6. Хотя я все работает с этим кодом:Angular 2 и RxJS

import {IntervalObservable} from 'rxjs/observable/IntervalObservable'; 
    ... 
return IntervalObservable.create(1000) 
       .flatMap(() => this.http.get('filename.json')) 
       .map(this.extractDataCallBack) 
       .catch(this.handleError); 

Правильно ли это? Текущие RxJS api docs, похоже, указывают разные методы. Есть ли способ обновить до последней версии RxJS, не сломав все?

Что случилось с функцией Observable.interval()? Я видел несколько примеров, используя это.

Все, что вы можете предложить, чтобы пролить свет на это было бы здорово.

Большое спасибо

JT

ответ

2

Observable.interval это просто ярлык для IntervalObservable.create:

https://github.com/ReactiveX/rxjs/blob/master/src/observable/interval.ts

+0

ОК, спасибо. Поэтому я сделал это правильно. –

+0

, если я установил интервал опроса, как мне сразу начать опрос? Вместо указанного интервала опроса. –

+1

Попробуйте 'Observable.concat (Observable.of (null), Observable.interval (1000)). FlatMap ...' – j2L4e

0

Спасибо Ребята, так это работало.

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/observable/of'; 
import 'rxjs/add/observable/concat'; 
import {IntervalObservable} from 'rxjs/observable/IntervalObservable'; 

... 

private serverGetRequestContinuous(requestInterval: number, jsonFileName: String): Observable<any> { 
     return Observable.concat(Observable.of(null), IntervalObservable.create(10000)) 
      .flatMap(() => this.http.get('filename.json')) 
      .map(this.extractDataCallBack) 
      .catch(this.handleError); 
    } 

При объединении этих двух наблюдений за первый запрос нет задержки. Если IntervalObservable.create (requestInterval) был вызван один, опрос начнется только после указанного запросаInterval. Этот первый Observable вызывает один запрос прямо сейчас и, таким образом, не задерживает отображение данных в пользовательском интерфейсе. Второй наблюдаемый опрос каждые 10 секунд.

Смежные вопросы