2017-10-03 16 views
7

Tôi đang cố gắng để thực hiện hình thức tự động lưu dữ liệu trong góc 4. Nó sẽ làm việc như thế này:
góc 4 hình thức sắp xếp tự động lưu

  • tài khoản thay đổi một số dữ liệu theo hình thức -> một số lưu yêu cầu DB được gọi . Giả sử một số bộ hẹn giờ được bắt đầu ở đây trong 2 giây.
  • Trong 2 giây từ yêu cầu lưu trước đó, tất cả thay đổi sẽ không gọi bất kỳ yêu cầu nào (để giảm tải DB), nhưng sẽ kích hoạt yêu cầu lưu khác thì hẹn giờ 2s sẽ hết hạn.
  • Nếu không có bộ hẹn giờ được bắt đầu vào lúc này thì yêu cầu lưu sẽ được gọi ngay lập tức.

Tôi giả sử rằng Observable, SubjectScheduler từ RxJS sẽ giúp tôi, nhưng tôi hoàn toàn mới với nó. Bạn có thể đề xuất phương pháp tốt nhất để đạt được chức năng trên không?

Trả lời

4

Bạn chỉ có thể đăng ký để valueChanges property on FormGroup object xích với các nhà điều hành auditTime:

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

Có lẽ cũng có một cái nhìn tại throttleTimedebounceTime nhà khai thác.

+0

Cảm ơn bạn! Toán tử 'auditTime' chính là thứ tôi cần! Vì vậy, giải pháp đơn giản và thanh lịch. – aleksei

+0

Câu trả lời liên quan: https://stackoverflow.com/questions/46094431/how-to-implement-auto-save-a-reactive-form-in-angular-4 – Hauke

Các vấn đề liên quan