我正在尝试在 Angular 4 中实现表单数据自动保存。它应该像这样工作:
- 用户更改表单中的某些数据 -> 调用对数据库的某些保存请求。
我们假设这里启动了一些计时器 2 秒。
- 在上一个保存请求之后的 2 秒内,所有更改都不会调用任何请求(以减少数据库负载),但会触发另一个保存请求,然后 2 秒计时器将到期。
- 如果此时没有启动计时器,则应立即调用保存请求。
我想Observable
, Subject
and Scheduler
来自 RxJS 的内容会对我有所帮助,但我对此完全陌生。您能否建议实现上述功能的最佳方法?
您只需订阅即可valueChanges属性于FormGroup object https://angular.io/api/forms/AbstractControl#valueChanges与auditTime http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-auditTime操作员:
this.form.valueChanges.auditTime(2000).subscribe(formData => /* save to DB */)
也许还可以看看throttleTime
and debounceTime
运营商。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)