我正在尝试在 Angular 4 中实现表单数据自动保存。它应该像这样工作:
- 用户更改了表单中的一些数据 -> 调用了对数据库的一些保存请求。 假设某个定时器在这里启动 2 秒。
- 在前一个保存请求的 2 秒内,所有更改都不会调用任何请求(以减少数据库负载),但会触发另一个保存请求,然后 2 秒计时器将到期。
- 如果此时没有启动计时器,则应立即调用保存请求。
我想 RxJS 的 Observable
、Subject
和 Scheduler
会对我有所帮助,但我对它完全陌生。您能否建议实现上述功能的最佳方法?
最佳答案
订阅valueChanges
property on FormGroup
object即可与 auditTime
链接运算符(operator):
this.form.valueChanges.auditTime(2000).subscribe(formData => /* save to DB */)
也许还可以查看 throttleTime
和 debounceTime
运算符。
关于javascript - Angular 4预定表格自动保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46543630/