Wie bekomme ich eine Observable, die sofort und danach alle 5 Sekunden Daten zurückgibt?

Ich möchte ein Observable erstellen, das Daten von einer Webapi zurückgibt. Ich möchte, dass die Daten sofort zurückgegeben werden und die API alle 10 Sekunden abgefragt wird. Der folgende Code zeigt, dass ich die Intervallmethode verwende. Dies verzögert jedoch den ersten Datensatz um 10 Sekunden. Wie kann ich diesen ersten Datenaustausch ohne anfängliche Verzögerung durchführen?

export class EventService {
    public events$: Observable<Event[]>;
    private _eventsObserver: Observer<Event[]>;
    private pollInterval: number = 5000;

    private _dataStore: {
        events: Event[];
    };

    constructor(private http: Http) {
        this._dataStore = { events: [] };

        this.events$ = new Observable(observer => this._eventsObserver = observer)
            .startWith(this._dataStore.events)
            .share();
    }

    pollEvents() {
        return Observable.interval(10000)
            .switchMap(() => {
                return this.http.get('app/resources/data/scheduleevents.json')
                    .map((responseData) => {
                        return responseData.json();
                    });
            })
            .map((events: Array<any>) => {
                let result: Array<Event> = [];
                if (events["data"]) {
                    events["data"].forEach((event) => {
                        result.push(event);
                    });
                }
                return result;
            });
    }
}