Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用RxJS操作符创建自定义对象的可观察流_Javascript_Typescript_Rxjs - Fatal编程技术网

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();
      }
    })
 }
这样使用它