- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一段代码是这样的:
const hoverQueue$ = new Rx.Subject()
.debounceTime(1000)
.subscribe(() => {
console.log('subject')
});
const callback = () => {
hoverQueue$.next(true)
}
这似乎行不通。而不是让我的事件被延迟 1 秒并且只获得最后发出的值,它们都通过,就好像 debounceTime 不存在一样。同样的行为会延迟发生,似乎不起作用。似乎在可观察对象上按预期工作。callback 是我正在使用的另一个库调用的回调。
不确定我是否遗漏了什么或者我是否做了一些不应该做的事情,在网上找不到太多关于这个的信息。
下面有一个 fiddle 和一个例子来演示
这是我正在运行的 rxjs 5.4.1 的 fiddle https://jsfiddle.net/theya222/2nhu1ka7/
这是最新版本的 rxjs https://jsfiddle.net/theya222/j1uLw80d/
谢谢
最佳答案
hoverQueue$
是在 Observable 上执行 subscribe
的结果。因此 hoverQueue$
是一个 Subscription
而不是一个 Observable 并且 Subscription
没有方法 next
。
你要做的就是这个
const subj = new Rx.Subject();
const hoverQueue$ = subj.debounceTime(1000);
hoverQueue$.subscribe(() => {
console.log('subject')
});
const callback = () => {
subj.next(true)
}
如果回调是一个
callback called by another library
拿查看使用 Observable 定义的 bindCallback
方法/函数。
关于javascript - 主题上的 rxjs debounceTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52345083/
让我难过的愚蠢问题。我想根据流中的数据提供不同的 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
我是一名优秀的程序员,十分优秀!