2017-10-03 40 views
7

मैं कोणीय 4 में प्रपत्र डेटा स्वतः सहेजना यह इस तरह काम करना चाहिए लागू करने के लिए कोशिश कर रहा हूँ:
कोणीय 4 अनुसूचित प्रपत्र स्वतः सहेजना

  • उपयोगकर्ता रूप में कुछ डेटा में परिवर्तन -> कुछ डीबी के लिए अनुरोध को बचाने शुरू हो जाती है । मान लें कि कुछ टाइमर 2 एस के लिए यहां शुरू किया गया है।
  • पिछले सहेजने के अनुरोध से 2s के दौरान सभी परिवर्तन किसी भी अनुरोध (डीबी लोड को कम करने के लिए) नहीं करेंगे, लेकिन एक और बचत अनुरोध ट्रिगर करेंगे तो 2 एस टाइमर समाप्त हो जाएगा।
  • यदि इस समय कोई टाइमर शुरू नहीं हुआ है तो अनुरोध तुरंत अनुरोध किया जाना चाहिए।

मुझे लगता है कि Observable, Subject और RxJS से Scheduler मुझे मदद मिलेगी, लेकिन मैं इसे करने के लिए पूरी तरह से नया हूँ। क्या आप उपर्युक्त कार्यक्षमता प्राप्त करने के लिए सबसे अच्छा तरीका सुझा सकते हैं?

उत्तर

4

तुम बस valueChanges property on FormGroup objectauditTime ऑपरेटर के साथ श्रृंखलित की सदस्यता ले सकते:

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

हो सकता है कि यह भी throttleTime और debounceTime ऑपरेटरों पर एक नजर है।

+0

धन्यवाद! 'ऑडिटटाइम' ऑपरेटर बिल्कुल वही है जो मुझे चाहिए! इतना आसान और सुरुचिपूर्ण समाधान। – aleksei

+0

संबंधित उत्तर: https://stackoverflow.com/questions/46094431/how-to-implement-auto-save-a-reactive-form-in-angular-4 – Hauke