什么是TypeScript / Angular 7(异步),等效于setTimeout()

时间:2019-04-06 18:25:00

标签: angular typescript settimeout

我想为我的聊天应用程序构建一个“类型指示器”。我目前正在尝试在用户停止按任意键5秒钟后使指示灯消失。

Angular这样做的方式是什么?

1 个答案:

答案 0 :(得分:1)

假定用户输入在流中,则将其命名为userTypingStream$

userTypingStream$.pipe(
   (debounceTime(5000)
).subscribe(() => this.displayIndicator = false);

要创建这样的流:

private userTypingStream$: Subject<string> = new Subject();
//...
onKeyPress = (event) => {
   this.userTypingStream$.next(event.target.value);
   //... and possibly the rest of the keypress handler here.
}

相关主题:观察对象和主题(开发Angular应用程序时几乎不可避免)。这些似乎是一个很好的起点:

https://angular.io/guide/observables

https://blog.angularindepth.com/rxjs-understanding-subjects-5c585188c3e1