Backbone.sync के लिए बैच डालने/अद्यतन को लागू करने के लिए कोई तकनीक किस प्रकार उपयोग करेगी?बैच सिंक करने के लिए Backbone.sync का विस्तार करें?
उत्तर
मुझे लगता है कि यह आपके उपयोग परिदृश्यों पर निर्भर करता है, और आप कॉलिंग कोड को कितना बदलना चाहते हैं। मुझे लगता है कि आप दो विकल्प हैं:
विकल्प 1: (बुला) ग्राहक के लिए कोई परिवर्तन नहीं कोड
अजीब तरह पर्याप्त एनोटेट source for Backbone.syncsync
विधि अधिभावी के लिए एक संभावित कारण के रूप में 'बैचिंग' देता है:
एक अनुरोध में तेज़-फायर अपडेट बैच करने के लिए setTimeout का उपयोग करें।
वास्तव में सिंक पर सहेजने के बजाय, एक कतार में अनुरोध जोड़ें, और केवल हर बार बैच-सेव करें। _.throttle
या _.delay
आपकी मदद कर सकते हैं।
विकल्प 2: बदलें क्लाइंट कोड
वैकल्पिक रूप से, बजाय अपने मॉडल पर save
बुलाने की, तो आप किसी प्रकार का save
विधि का संग्रह करने के लिए जोड़ सकते हैं। आपको ट्रैक करना होगा कि कौन से मॉडल वास्तव में संशोधित किए गए थे और इसलिए अद्यतन की आवश्यकता में, जहां तक मैं कह सकता हूं, बैकबोन केवल जानता है कि वे नए हैं या नहीं (लेकिन मैं इसके बारे में गलत हो सकता हूं)।
यहां बताया गया है मैंने किया
Backbone.originalSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//
// code to extend sync
//
// calling original sync
Backbone.originalSync(method, model, options);
}
मेरे लिए ठीक काम करता है, और मैं इसे हर ajax अनुरोध किसी भी मॉडल या संग्रह
- 1. किसी नए मॉडल के लिए Backbone.sync को अक्षम करने के लिए, और सिंक सक्षम करें * उपयोगकर्ता * एक सहेजने वाला बटन
- 2. प्रति मॉडल Backbone.sync
- 3. Backbone.sync को ओवरराइड कैसे करें?
- 4. Backbone.js: Backbone.sync कार्यान्वयन के लिए टाइमआउट परिभाषित करें
- 5. नेटवर्क पर फ़ाइलों को सिंक करने के लिए माइक्रोसॉफ्ट सिंक फ्रेमवर्क का उपयोग
- 6. Backbone.js सिंक मॉडल
- 7. बैच टीएसक्यूएल स्क्रिप्ट का निष्पादन करने के लिए एसक्यूएल एसएमओ
- 8. Firefox विस्तार डिबग करने के लिए कैसे
- 9. अपरिवर्तनीय प्रकार का विस्तार करने के लिए कैसे जावा
- 10. कैसे अपने आवेदन में माता-पिता रीढ़ सिंक विधि कॉल करने के
- 11. आलेख क्रॉलिंग के लिए नच का विस्तार कैसे करें
- 12. जावा (एंड्रॉइड) में अन्य प्रोटोकॉल का समर्थन करने के लिए यूआरएल कक्षा का विस्तार कैसे करें?
- 13. ऐप फ़ाइलों को स्टोर और सिंक करने के लिए iCloud का उपयोग कैसे करें
- 14. playframework का विस्तार कैसे करें?
- 15. विस्तारित पतन का विस्तार करें
- 16. प्लगइन के साथ एक पायथन प्रोग्राम का विस्तार करने के लिए एक एपीआई कैसे प्रदान करें?
- 17. एनएसटीएक्स्टव्यू का विस्तार करने के साथ ऑटोलायआउट का उपयोग
- 18. फ़ाइल का विस्तार प्राप्त करें (संपादित करें)
- 19. आईफोन ऐप में डेटा सिंक करने के लिए सर्वश्रेष्ठ रणनीति
- 20. सिंक Redmine एक और Redmine करने के लिए?
- 21. Backbone.sync को ओवरराइड करें लेकिन इसकी पिछली कार्यक्षमता को सहेजें
- 22. गतिविधि के लिए विस्तार कक्षा
- 23. बैकबोन जेएस: हटाने के लिए सिंक को कैसे अक्षम करें?
- 24. हैश उत्पन्न करने के लिए node.js में उपयोग करने के लिए Async या सिंक bcrypt फ़ंक्शन?
- 25. उपलब्ध स्थान को कवर करने के लिए क्षैतिज तत्वों का विस्तार कैसे करें?
- 26. रुबी टेस्ट का विस्तार कैसे करें :: assert_false को शामिल करने के लिए इकाई सम्मिलन?
- 27. ExtJS ग्रिड RowEditor प्लगइन (सरणी संपादित करने के लिए) का विस्तार करें
- 28. सूसी: ग्रिड-पैडिंग को कवर करने के लिए सामग्री बॉक्स का विस्तार कैसे करें?
- 29. विंडोज सिंक इश्यू के लिए गिथब
- 30. Google कैलेंडर के साथ सिंक करें
से बाहर आ अगर मैं '_.throttle' का उपयोग करें या' नियंत्रित करने के लिए उपयोग करें _.delay', मैं एक एकल AJAX अनुरोध में एकाधिक 'अपडेट' कैसे भेजूं? मॉडल की सरणी? – Henry
कई तरीके हैं, और वास्तव में यह डेटा पहुंच के आपके पैटर्न पर निर्भर करता है। यहां एक चर्चा है: http://stackoverflow.com/questions/411462/restful-way-to-create-multiple-items-in-one-request – stusmith