Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 5.x中,使用from创建可观察对象的最佳方法是什么?_Javascript_Rxjs_Rxjs5 - Fatal编程技术网

Javascript 在RxJS 5.x中,使用from创建可观察对象的最佳方法是什么?

Javascript 在RxJS 5.x中,使用from创建可观察对象的最佳方法是什么?,javascript,rxjs,rxjs5,Javascript,Rxjs,Rxjs5,既然我们有了“可出租”操作符,我们应该如何从另一个操作符创建一个可观察的 当我尝试这样做时: 从'rxjs/Observable'导入{Observable} const source=Observable.from(someOtherStream)出租表位于rxjs/operators后面 对于来自的,您应该能够在不导入可观察对象的情况下导入它 import { from } from 'rxjs/observable/from'; const prom = new Promise(res

既然我们有了“可出租”操作符,我们应该如何从另一个操作符创建一个
可观察的

当我尝试这样做时:

从'rxjs/Observable'导入{Observable}

const source=Observable.from(someOtherStream)
出租表位于
rxjs/operators
后面

对于来自的
,您应该能够在不导入可观察对象的情况下导入它

import { from } from 'rxjs/observable/from';

const prom = new Promise(res => setTimeout(
  () => res('promise'), 3000
));

from(prom).subscribe(x => console.log(x));

通过使用
from
这种方式,您可以
将管道()
连接到出租台操作员

import { from } from 'rxjs/observable/from';
import { map } from 'rxjs/operators/map';

const prom = new Promise(res => setTimeout(
  () => res('promise'), 3000
));

from(prom).pipe(
  map(x => x.split('').reverse().join(''))
).subscribe(x => console.log(x));

我认为这是对
的误解。它只是一个函数,它接受一个“流”(即可观察流、承诺流、数组流等等),并从中创建一个可观察流

这意味着您可以像使用任何其他功能一样使用它:

import { from } from 'rxjs/observable/from'

from(someOtherStream).pipe(...).subscribe(...)

您可以使用,然后您可以编写
Observable::from(someOtherStream)
,这非常好。因此无需为其提供
Observable
上下文?正确,然后您可以通过管道连接到出租表,而不是完美链接。工作得很好。谢谢