Javascript 如何使用RxJS操作符创建自定义对象的可观察流
我目前有如下输入Javascript 如何使用RxJS操作符创建自定义对象的可观察流,javascript,typescript,rxjs,Javascript,Typescript,Rxjs,我目前有如下输入 const config = { 'mainA': { sub1: { name: 'test1'}, sub2: { name: 'test2'}}, 'mainB': { sub1: { name: 'test3'}, sub2: { name: 'test4'}} }; var observable = createCustomObservable(config); observable.subscribe((x) => console.log(x));
const config = {
'mainA': { sub1: { name: 'test1'}, sub2: { name: 'test2'}},
'mainB': { sub1: { name: 'test3'}, sub2: { name: 'test4'}}
};
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
{'mainA': 'test1'} -> {'mainA': 'test2'} -> {'mainB': 'test3'} -> {'mainB': 'test4'}
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
我正在尝试编写一个函数(createCustomObservable),它将使用标准的RsJS操作符创建一个observable,如下所示
const config = {
'mainA': { sub1: { name: 'test1'}, sub2: { name: 'test2'}},
'mainB': { sub1: { name: 'test3'}, sub2: { name: 'test4'}}
};
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
{'mainA': 'test1'} -> {'mainA': 'test2'} -> {'mainB': 'test3'} -> {'mainB': 'test4'}
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
控制台输出应如下所示
const config = {
'mainA': { sub1: { name: 'test1'}, sub2: { name: 'test2'}},
'mainB': { sub1: { name: 'test3'}, sub2: { name: 'test4'}}
};
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
{'mainA': 'test1'} -> {'mainA': 'test2'} -> {'mainB': 'test3'} -> {'mainB': 'test4'}
var observable = createCustomObservable(config);
observable.subscribe((x) => console.log(x));
具有单一属性的一系列对象
有人知道如何使用RxJS操作符实现这一点吗?任何帮助都将不胜感激。您试图解决的主要问题是遍历对象以获取包含“name”字段的所有对象,并获取它们的值 没有Rx操作员自动执行此操作,因此要完成此任务,您只需使用
Rx.Observable.create
-
示例:您试图解决的主要问题是遍历对象以获取包含“name”字段的所有对象,并获取它们的值 没有Rx操作员自动执行此操作,因此要完成此任务,您只需使用
Rx.Observable.create
-
示例:我们可以通过可观察构造函数创建一个新流,您必须手动调用next()、error()和complete()函数
function createCustomObservable(config) {
return new Observable(
observer => {
try {
observer.next(config)
} catch(err) {
observer.error(err);
} finally {
observer.complete();
}
})
}
这样使用它
我们可以通过可观察构造函数创建一个新的流,您必须手动调用next()、error()和complete()函数
function createCustomObservable(config) {
return new Observable(
observer => {
try {
observer.next(config)
} catch(err) {
observer.error(err);
} finally {
observer.complete();
}
})
}
这样使用它