RxJS 6静态合并在哪里?

RxJS 6静态合并在哪里?,rxjs,rxjs6,Rxjs,Rxjs6,在RxJS 6中,如何导入静态合并函数来合并观察对象列表 我希望能够做到: const merged$ = merge( obs1$, obs2$, obs3$ ); 我试过: 从'rxjs/observate/merge'导入{merge}和 从'rxjs/operators'导入{merge} 但两者似乎都不能满足我的需求。在RxJS 6中,导入变得很容易: import { merge } from 'rxjs'; 你可能想看看这本书 关于在RxJS 6中导入

在RxJS 6中,如何导入静态合并函数来合并观察对象列表

我希望能够做到:

const merged$ = merge(
    obs1$,
    obs2$,
    obs3$
);
我试过:

从'rxjs/observate/merge'导入{merge}

从'rxjs/operators'导入{merge}


但两者似乎都不能满足我的需求。

在RxJS 6中,导入变得很容易:

 import { merge } from 'rxjs';
你可能想看看这本书

关于在RxJS 6中导入的另一个有用资源是由RxJS负责人Ben Lesh提供的。

我认为现在当“创建”类被删除时,推荐的方法是直接从
'RxJS'
导入:

import { merge as mergeStatic } from 'rxjs';
RxJS 6以前的alpha版本曾经有
'RxJS/create'
文件,但该文件已被删除:

然而,这期望您能够完成,否则您将导入许多不需要的东西。如果不使用路径映射或隐藏的生成过程,则可以直接导入正确的文件:

import { merge as mergeStatic } from 'rxjs/internal/observable/merge';

从RXJS 6开始。合并在rxjs/operators中

import { map, take, merge, switchMap, filter } from 'rxjs/operators';
rxjs7.X 在RxJS v7.X中,
merge()
方法是去擦洗的,将在RxJS v8.X中删除,请改用
mergeWith()

请参阅:

(无润滑)


(来自api文档的示例)

不完全正确。有两个合并函数:来自“rxjs”:和来自“rxjs/operators”:区别在于:来自“rxjs”的import{merge}->创建一个输出可观察对象,该输出可观察对象同时从每个给定的输入可观察对象发出所有值从“rjxs/operators”导入{merge}->不推荐使用静态合并。你是对的;开始仅使用“rxjs”如何将其用于新的管道操作符?参见文档中的示例:
import { fromEvent } from 'rxjs';
import { map, mergeWith } from 'rxjs/operators';

const clicks$ = fromEvent(document, 'click').pipe(map(() => 'click'));
const mousemoves$ = fromEvent(document, 'mousemove').pipe(map(() => 'mousemove'));
const dblclicks$ = fromEvent(document, 'dblclick').pipe(map(() => 'dblclick'));

mousemoves$.pipe(
  mergeWith(clicks$, dblclicks$),
)
.subscribe(x => console.log(x));

// result (assuming user interactions)
// "mousemove"
// "mousemove"
// "mousemove"
// "click"
// "click"
// "dblclick"