javascript - Angular 4预定表格自动保存

标签 javascript angular rxjs observable

我正在尝试在 Angular 4 中实现表单数据自动保存。它应该像这样工作:

  • 用户更改了表单中的一些数据 -> 调用了对数据库的一些保存请求。 假设某个定时器在这里启动 2 秒。
  • 在前一个保存请求的 2 秒内,所有更改都不会调用任何请求(以减少数据库负载),但会触发另一个保存请求,然后 2 秒计时器将到期。
  • 如果此时没有启动计时器,则应立即调用保存请求。

我想 RxJS 的 ObservableSubjectScheduler 会对我有所帮助,但我对它完全陌生。您能否建议实现上述功能的最佳方法?

最佳答案

订阅valueChanges property on FormGroup object即可与 auditTime 链接运算符(operator):

this.form.valueChanges.auditTime(2000).subscribe(formData => /* save to DB */)

也许还可以查看 throttleTimedebounceTime 运算符。

关于javascript - Angular 4预定表格自动保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46543630/

相关文章:

javascript - Typescript 和 Angular 过滤器

javascript - 谁能看出这有什么问题吗?

javascript - 内联编辑面临困难

angular - 如何在首次登录时要求和存储额外的用户配置文件数据?

angular - 以 Angular 2 进行并行调用 http get 或 post 调用

javascript - 为什么类属性不能通过 javascript 内联赋值?

angular - 将 NGXS 状态分解为更小的可维护部分,但又保持它们彼此可访问的最佳方法是什么?

Angular:Http 到 HttpClient 的转换问题

angular - 如何通过间隔运算符发送请求?

Angular Service Observable 不会第二次触发组件订阅