Rxjs 无法使用输入流中的distinctUntilChanged()筛选唯一值

Rxjs 无法使用输入流中的distinctUntilChanged()筛选唯一值,rxjs,rxjs-pipeable-operators,Rxjs,Rxjs Pipeable Operators,我需要你的帮助。我是Rxjs世界的新手,正在尝试使用distinctUntilChanged()操作符来避免通过输入框从流接收到重复的值。但我看不出输出有什么不同。也许我没有理解rxjs文档的解释。 下面是我试图演示此示例的url。 如果你能帮我做一些解释和修改,那就太好了 ngOnInit(){ 常量输入框$= fromEvent(this.inputVal.nativeElement,'keyup').pipe( 映射(res=>res.target.value), //点击(char=>

我需要你的帮助。我是Rxjs世界的新手,正在尝试使用distinctUntilChanged()操作符来避免通过输入框从流接收到重复的值。但我看不出输出有什么不同。也许我没有理解rxjs文档的解释。 下面是我试图演示此示例的url。 如果你能帮我做一些解释和修改,那就太好了

ngOnInit(){
常量输入框$=
fromEvent(this.inputVal.nativeElement,'keyup').pipe(
映射(res=>res.target.value),
//点击(char=>console.log(char)),
去BounceTime(1000),
distinctUntilChanged(),
点击(char=>console.log(char)),
映射(text=>this.fnGetDbData(text))
)
inputObs$.subscribe(res=>{
console.log(res)
this.dbPlace=res;
});

}

请在标题中指定您的问题,并将闪电战中的代码数量减少到演示您的问题/查询所需的最小值。@Jota.Toledo首先,为了您的回答,我已按照您的建议更改了标题。现在的问题是,我试图过滤来自输入流的重复值,但我看不到输出中有任何差异。具体说明您尝试了什么输入?如果我键入a,等待解盎司,然后删除它并再次键入a,只会发出1个值,第一个a您希望得到什么输出?
distinctUntilChanged
在您的示例中正常工作。它从不让相同的值一个接一个地直接通过两次,明白了吗。非常感谢你的支持。我好像对接线员有点困惑。我想如果我键入多个a,那么输出中只会发布一个a。请在标题中指定您的问题,并将闪电战中的代码量减少到演示您的问题/查询所需的最小值。@Jota.Toledo首先,为了您的回答,我已按照您的建议更改了标题。现在的问题是,我试图过滤来自输入流的重复值,但我看不到输出中有任何差异。具体说明您尝试了什么输入?如果我键入a,等待解盎司,然后删除它并再次键入a,只会发出1个值,第一个a您希望得到什么输出?
distinctUntilChanged
在您的示例中正常工作。它从不让相同的值一个接一个地直接通过两次,明白了吗。非常感谢你的支持。我好像对接线员有点困惑。我想如果我输入多个a,那么输出中只会发布一个a。
 ngOnInit() {


const inputObs$ =
  fromEvent<any>(this.inputVal.nativeElement, 'keyup').pipe(
    map(res => res.target.value),
    //tap(char => console.log(char)),
    debounceTime(1000),
    distinctUntilChanged(),
    tap(char => console.log(char)),
    map(text => this.fnGetDbData(text))
  )

inputObs$.subscribe(res => {
  console.log(res)
  this.dbPlace = res;

});