干(不要重复自己)
假设我在我的应用程序中使用了很多代码:
observable$.pipe(
tap(value => console.log(value)),
map(value => value * 5),
... more repeated stuff
)
Run Code Online (Sandbox Code Playgroud)
假设值5在代码的某些部分是不同的,但其他一切都是相同的.我可以以某种方式功能化/做一些事情,使其可重复使用,以避免复制粘贴问题?
我可以这样做吗?
observable$.pipe(
getReusedOperators(7), // this would pipe to all above operators using 7 instead of 5
tap((value) => console.log('im not reused and my value is', value)),
....
)
Run Code Online (Sandbox Code Playgroud)
这里最好的方法是什么?对不起,我的问题不是很好,但希望你能得到这个想法.
使用可管理运算符要记住的事情是它们只是采用可观察并返回可观察对象的函数,因此您可以轻松地创建可重用的运算符组合,如下所示:
function getReusedOperators(factor) {
return source => source.pipe(
tap(value => console.log(value)),
map(value => value * factor),
);
}
Run Code Online (Sandbox Code Playgroud)
对于没有参数化可重用组合的情况,您可以使用静态pipe
函数进行组合.有关示例,请参阅我的Combining Operators文章.
归档时间: |
|
查看次数: |
168 次 |
最近记录: |