gpt4 book ai didi

observable - distinctUntilChanged 设置初始值

转载 作者:行者123 更新时间:2023-12-03 11:21:47 30 4
gpt4 key购买 nike

对于 rxjs,我可以在使用 distinctUntilChanged 时提供初始值吗?当没有收到以前的值时,似乎完全跳过了等于检查。当它收到的第一个值是初始值时,我不想发出任何内容。

用例

就我而言,我正在使用 angular,我正在使用响应式(Reactive)形式并订阅其值更改。由于它是一个输入字段,我有一个典型的管道设置:

  • debounceTime(350)
  • distinctUntilChanged()

  • 当用户将初始字段从空更改为某些内容,然后在去抖动时间内再次为空时,无论如何都会触发该事件,这不应该发生。

    我试过的
  • distinctUntilChanged 中提供自定义 equals 方法
  • 不起作用,因为第一次遇到管道时会完全跳过管道
  • 使用默认值在基础主题上强制使用 next
  • 在我宁愿避免
  • 的去抖动时间之后,这仍然会发出一个值

    最佳答案

    你可以试试 startWith :

    const valueChanges$ = this.form
    .get('CONTROL_NAME')
    .valueChanges
    .pipe(
    startWith('INITIAL_VALUE'),
    distinctUntilChanged(),
    skip(1)
    )
    .subscribe((value: string) => { ... });

    关于observable - distinctUntilChanged 设置初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51876882/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com