如何追加物品Observable?
这是一些代码:
this.logEntries = this.controllerService.getLog(this.controller.remoteID, this.skip, this.max);
this.logEntries.subscribe(a => {
this.allLogEntries.add(this.logEntries)
});
Run Code Online (Sandbox Code Playgroud)
这是他们的声明:
logEntries: Observable<Log[]>;
allLogEntries: Observable<Log[]> = Observable.empty<Log[]>();
Run Code Online (Sandbox Code Playgroud)
我想将项目附加到allLogEntries,因为它们是从Web服务中提取的.我该怎么做呢?
我正在尝试将 plain 转换string[]为 aObservable<string[]>并将其连接到现有的Observable<string[]>.
然后我将使用 angular2async管道来显示Observable.
这是我的代码:
import {Injectable} from "angular2/core";
import {Observable} from "rxjs/Observable";
import 'rxjs/Rx';
@Injectable()
export class AppService {
constructor() {
console.log('constructor', 'appService');
this.constructSomeObservable();
}
someObservable$:Observable <string[]>;
constructSomeObservable() {
this.someObservable$ = Observable.create(observer => {
const eventSource = new EventSource('/interval-sse-observable');
eventSource.onmessage = x => observer.next(JSON.parse(x.data));
eventSource.onerror = x => observer.error(console.log('EventSource failed'));
return () => {
eventSource.close();
};
});
this.someObservable$.subscribe(
theStrings=> {
console.log(theStrings);
//Somehow convert the plain array of …Run Code Online (Sandbox Code Playgroud)