[英]How to create an Observable<any[]>?
我需要进入Observable<any[]>
。 我目前有一个类似这样的观察对象:
const eventsWatcher = new Observable(observer => {
try {
this.socket.on('calendar-events', data => {
observer.next(data);
});
}
catch (err) {
observer.error(err);
}
})
基本上,我需要从此Observable中获取值并创建一个新值,该值是现有Observable发出的值的数组。
我试过了
const arr = [];
const eventsWatcher = new Observable(observer => {
try {
this.socket.on('calendar-events', data => {
observer.next(data);
});
}
catch (err) {
observer.error(err);
}
}).subscribe(data => {
arr.push(data);
});
return Observable.from(arr);
但这将返回ArrayObservable
而不是Observable<any[]>
。
抱歉,如果我不能很好地描述这一点,但是rxjs确实很难。
使用扫描运算符:
const yourNewObservable = eventsWatcher
.scan((acc, newItem) => acc.concat(newItem), []);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.