- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对元素输入事件有一个简单的去抖动,如下所示:
Observable
.fromEvent(this.elInput.nativeElement, 'input')
.debounceTime(2000)
.subscribe(event => this.onInput(event));
最佳答案
是的,这是完全可能的。只需使用 debounce
运算符而不是 debounceTime
.它被传递一个选择器函数,该函数在调用时接收先前的运算符通知。
在你的例子中:
Observable
.fromEvent(this.elInput.nativeElement, 'input')
.debounce(ev => ev.hasSomeValue ? timer(2000) : EMPTY)
.subscribe(event => this.onInput(event));
ObservableLike
并等待它发出,然后再转发
debounce
的最后一个通知已收到。所有其他通知都被丢弃,就像
debounceTime
.您可以使用
EMPTY
在没有任何超时的情况下立即转发通知(尽管这将是异步的,请参见下文)
Though not as widely used as debounceTime, debounce is important when the debounce rate is variable!
filter
避免
debounce
共。
关于angular - 如何使可观察的 debounceTime 有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53044981/
让我难过的愚蠢问题。我想根据流中的数据提供不同的 debounceTime。我有: const fakeData = [{number: 1}, {number: 2}, {number: 3}];
我正在尝试使用 debounceTime 方法发送此请求,而不是向服务器发送多次。但不工作。立即调用此服务。 在拖放事件中,我想使用 saveWidgetsPosition 函数保存位置。 dro
我需要为 Angular 中的响应式(Reactive)表单类型编写异步验证器。我已经通过 promise 实现了它。但问题是验证器每次击键都会触发它,每次击键都会触发服务器。为了实现去抖,我已经为
我正在使用 debounceTime 在下拉列表中获取列表,到目前为止一切正常我输入了三个字符并触发 api 调用返回给我一个列表,但问题是当我从 Control 的 valueChanges 列表中
我有一个从 FormBuilder 构建的控件。我想为每个 keyup 设置一个 debounceTime,但不是在用户失去控件焦点时设置。 this._control.valueChanges
是否可以将 debounceTime 值设置为根据条件更改的值?我有一个行为主题设置(如果我做错了这部分,请告诉我): this.searchSubject.asObservable().deboun
我有一个带有一个字段的响应式(Reactive)表单,当用户停止输入时,我想将值打印到控制台。为此,当字段中的值更改时,我使用了 debounceTime()。我读了几个关于使用 debounceTi
我正在尝试为 Angular 中的函数编写单元测试应用程序 debounceTime ( rxjs )。并使用 fakeAsync用于异步测试。 看起来在测试中 debounceTime即使我没有设置
employeeChanged: Subject = new Subject(); setInterval(() => { this.employeeChanged.next(1);
我对元素输入事件有一个简单的去抖动,如下所示: Observable .fromEvent(this.elInput.nativeElement, 'input') .
我正在尝试在 Angular 5 函数上使用 debounceTime,但我不知道如何使用它。当我构建搜索函数时,我可以使用它,因为它绑定(bind)到对该输入值所做的更改,如下所示: this.se
在 Angular 4 项目中,我有一个函数(我们称之为 reload()),它可以被其他函数调用(我们称之为 A() )并且B()) 随时。我想对 reload() 的执行进行反跳,直到从最后一次调
遵循 rxjs 和不同指南页面的文档,并不能解决我的 debounceTime 不起作用的问题。 function getValue() { return new rxjs.Observable(
有一段代码是这样的: const hoverQueue$ = new Rx.Subject() .debounceTime(1000) .subscribe(() => {
我正在使用 Rxjs 的 debounceTime()。这意味着它将在我传递给函数的几毫秒后进行订阅。因此,我通过给出不同的时间值在每个文档点击上调用 debounceTime() 。第一次我给 1
TLDR;我想使用 debounceTime 仅在 300 毫秒没有被调用时才执行该函数。同时,如果这个过程需要很长时间,我也希望能够每 1 分钟触发一次该功能。否则,该函数只会在流程结束时触发。 基
如果没有其他事件发生,是否可以延迟运行序列,并立即返回所有值? 我需要某种debounceTime 函数,但它会返回所有值。 最佳答案 如果我理解正确,您需要一个运算符来缓冲事件,直到在一段时间内没有
当用户更改输入字段时,我当前正在保存值。我不想在每次输入新字符时都保存该值,因此我使用 rxjs debounceTime 在 3000 毫秒(只是一个示例)没有更改后进行保存。 this.subsc
我想使用 debounceTime 在按键 300 毫秒后向服务器发送请求。 我使用这个代码: GetUsers(): void { let value = document.getEleme
我创建了一个 Angular 指令,该指令应用于输入并以一些延迟(用于搜索)发出其值。 这个代码如下 @Directive({ selector: '[search-field]' }) ex
我是一名优秀的程序员,十分优秀!