angular - RxJs 管道作为参数
问题描述
如何将管道作为参数传递,我的意思是这样的:
var mypipes = [
pipeA(() => {
alert("a");
})
,
pipeB(() => {
alert("b");
})
];
of(arg1, arg2, arg3).pipe(mypipes).subscribe();
我收到了这个错误:提供不匹配的签名“(来源:Observable):Observable”
解决方案
您可以使用 justpipe(...operators)
但您必须定义数组的确切长度,以便pipe()
知道要使用什么覆盖:
const operators: [OperatorFunction<number, number>, OperatorFunction<number, number>] = [
tap(v => console.log(v)),
tap(v => console.log(v)),
];
of(1, 2).pipe(...operators).subscribe((v) => console.log(v));
或者你也可以使用[any, any]
。
现场演示:https ://stackblitz.com/edit/rxjs-s9efsr?devtoolsheight=60
推荐阅读
- android - 我想通过使用分切器将扬声器输出循环回麦克风来在 Android 手机上播放音频消息。它会起作用吗?
- r - 如何在 r 中制作年度音乐排行榜?重复合并不起作用
- android - ArrayAdapter.getItem java.lang.IndexOutOfBoundsException:索引:1,大小:1
- c - 无限制计算无符号整数最大值的最佳算法.h
- gtk - 为 GtkWindow 使用 GdkWindow 的功能
- excel - 基于另一个具有数据的单元格格式化一个单元格
- html - 调整屏幕大小时菜单动画错误
- c# - 调试 C# 外部类
- c - 如何在C中获得pulseaudio音量?
- python - Whatsapp 消息自动回复