fromEvent函数中的筛选器运算符在RxJS6中不起作用
我是RxJ的新手。 RxJS 6.2的版本 我尝试从事件方法中筛选出鼠标事件信息,但它显示鼠标位置数据,即使clientX大于500,并且似乎筛选方法不起作用 有谁能告诉我我做错了什么以及如何修复它 JavaScriptfromEvent函数中的筛选器运算符在RxJS6中不起作用,rxjs,Rxjs,我是RxJ的新手。 RxJS 6.2的版本 我尝试从事件方法中筛选出鼠标事件信息,但它显示鼠标位置数据,即使clientX大于500,并且似乎筛选方法不起作用 有谁能告诉我我做错了什么以及如何修复它 JavaScript 从“rxjs”导入{Observable,fromEvent}; 从“rxjs/operators”导入{map,filter}; 设数字=[1,5,10]; const source=fromEvent(文档“mousemove”); 源管道( 地图((e:MouseEven
从“rxjs”导入{Observable,fromEvent};
从“rxjs/operators”导入{map,filter};
设数字=[1,5,10];
const source=fromEvent(文档“mousemove”);
源管道(
地图((e:MouseEvent)=>{
返回{
x:e.clientX,
y:e.clientY
}
}),
过滤器(值=>value.x<500)
)
source.subscribe(
value=>console.log(值),
e=>console.log(`error:${e}`),
()=>console.log('complete')
);
调用管道
将返回一个新的可观察对象,您将忽略它。它不会修改可观察的源
您应该订阅由管道
返回的可观察对象,而不是源
可观察对象:
const source=fromEvent(文档“mousemove”);
常量mappedAndFiltered=source.pipe(
地图((e:MouseEvent)=>{
返回{
x:e.clientX,
y:e.clientY
};
}),
过滤器(值=>value.x<500)
);
mappedAndFiltered.subscribe(
value=>console.log(值),
e=>console.log(`error:${e}`),
()=>console.log('complete')
);
非常感谢您!!我是RxJS新手,学习RxJS很困难。从v5到v6似乎有很多变化。不用担心。学习曲线有点陡峭,但如果你坚持下去,它应该是值得的。
import { Observable, fromEvent } from "rxjs";
import { map, filter } from 'rxjs/operators';
let numbers = [1, 5, 10];
const source = fromEvent(document, "mousemove");
source.pipe(
map((e: MouseEvent) => {
return {
x: e.clientX,
y: e.clientY
}
}),
filter(value => value.x < 500)
)
source.subscribe(
value => console.log(value),
e => console.log(`error: ${e}`),
() => console.log('complete')
);