无法从服务调用 debounceTime() class
debounceTime() not callable from service class
有人可以解释为什么 debounceTime()
不是来自 service
class 的 callable
。我从 fromEvent
observable 中创建了一个服务,我 subscribe
到它,目的是减少代码重复,但我得到了这个错误。
DebounceSearchService
import { Injectable } from '@angular/core';
import { fromEvent } from 'rxjs';
import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';
export class DebounceSearchService {
constructor() { }
search(input: HTMLInputElement, debounceTime: number) {
return fromEvent(input, 'keyup').pipe(
debounceTime(2000),
// get value
map((event: any) => { return event.target.value;})
// if character length greater then 2
, filter(res => res.length > 2)
// If previous query is diffent from current
, distinctUntilChanged()
// subscribe for response
,
);
}
}
我确实查找了其他答案,但不确定,也没有明确的答案。
重命名您的 search
函数第二个参数。它也被称为 RxJs
运算符 debounceTime
的相同保留名称。那应该为您解决。您的参数名称可以是 debounceTimeXYZ
.
有人可以解释为什么 debounceTime()
不是来自 service
class 的 callable
。我从 fromEvent
observable 中创建了一个服务,我 subscribe
到它,目的是减少代码重复,但我得到了这个错误。
DebounceSearchService
import { Injectable } from '@angular/core';
import { fromEvent } from 'rxjs';
import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';
export class DebounceSearchService {
constructor() { }
search(input: HTMLInputElement, debounceTime: number) {
return fromEvent(input, 'keyup').pipe(
debounceTime(2000),
// get value
map((event: any) => { return event.target.value;})
// if character length greater then 2
, filter(res => res.length > 2)
// If previous query is diffent from current
, distinctUntilChanged()
// subscribe for response
,
);
}
}
我确实查找了其他答案,但不确定,也没有明确的答案。
重命名您的 search
函数第二个参数。它也被称为 RxJs
运算符 debounceTime
的相同保留名称。那应该为您解决。您的参数名称可以是 debounceTimeXYZ
.