2012-08-30 14 views
5

मैं कॉलबैक इंटरफेस के साथ dust.js का उपयोग कर रहा हूं, और मैं इसके साथ काफी सहज हूं। अब मैं स्ट्रीमिंग इंटरफेस के बारे में और जानना चाहता हूं।dust.js में, स्ट्रीमिंग इंटरफ़ेस क्या है?

मैं दस्तावेज़ here और here पर गया हूं और अवधारणा मुझे बच निकलती है।

मैं अपने सवाल लगता है कि कर रहे हैं:

  1. एक स्ट्रीमिंग टेम्पलेट क्या मतलब है? मेरे लिए ऐसा लगता है कि मैं को उस ऑब्जेक्ट को सेट करने के लिए उपयोग कर सकता हूं, जब डेटा को धक्का दिया जाता है, तो यह द्वारा टेम्पलेट के विरुद्ध डेटा को प्रतिपादित करेगा।

  2. कॉलबैक इंटरफ़ेस के बजाय मैं किस मामले में स्ट्रीमिंग का उपयोग करूंगा?

  3. क्या कोई कोड नमूने हैं जो मेरी शिक्षा में मदद कर सकते हैं?

धन्यवाद!

+0

स्ट्रीमिंग इंटरफ़ेस के साथ आपका क्या मतलब है? मुझे लगता है कि आप इंटरफ़ेस स्ट्रीमिंग द्वारा धूल ऑब्जेक्ट – JAiro

+0

@JAiro हां की स्ट्रीम विधि के बारे में बात कर रहे हैं, मैं dust.stream() विधि का जिक्र कर रहा हूं। [प्रलेखन] में (http://akdubya.github.com/dustjs/) इसे "स्ट्रीमिंग इंटरफ़ेस" कहा जाता है। मुझे समझ में नहीं आता कि यह कैसे काम करना चाहिए। मैं इसके बीच और dust.render() के बीच का अंतर नहीं समझता। –

उत्तर

6
कॉलबैक इंटरफ़ेस में

, एक बार धूल पूरे टेम्पलेट प्रतिपादन किया जाता है आप केवल प्रदान की गई टेम्पलेट का उपयोग कर सकते हैं - जो अक्सर डोम में प्रदान की गई टेम्पलेट सम्मिलित करता है - एक कॉलबैक की आपूर्ति करके।

स्ट्रीमिंग इंटरफ़ेस में

, आपका काम लगभग प्रतिपादन प्रक्रिया के हर हिस्से पर अधिक नियंत्रण है: कैसे प्रदान की गई मात्रा उत्पादन धारा में डाल दिया जाता है, जब आप आदि पेज प्रदान करने की

जब के कुछ हिस्सों चाहते आप कॉलबैक इंटरफ़ेस का उपयोग करते हैं, कॉलबैक इंटरफ़ेस में 'आउट' विशेषता होती है जो यह हमेशा संलग्न होती है, जो अंत में आपको कॉलबैक में दूसरे पैरामीटर के रूप में प्रदान करती है। स्ट्रीमिंग इंटरफ़ेस में, जब एक नया संसाधित खंड उपलब्ध होता है, तो यह 'डेटा' नामक एक ईवेंट उत्सर्जित करता है और डेटा से निपटने के लिए आपको छोड़ देता है।

तो, कहें कि आपके पास एक बहुत बड़ा टेम्पलेट है जिसे आप प्रस्तुत करना चाहते हैं, आप टेम्पलेट को टुकड़ों में तोड़ सकते हैं, जो पूरा होने पर, 'डेटा' ईवेंट छोड़ देंगे, और उस हिस्से को डोम में डालने के लिए हैंडलर को परिभाषित करेंगे । दूसरे शब्दों में, आपको अपने पृष्ठ पर चीजों को प्रदर्शित करना शुरू करने के लिए पूरी प्रतिपादन प्रक्रिया को समाप्त करने की प्रतीक्षा नहीं करनी है।

यह उपयोगी हो सकता है यदि उदाहरण के लिए, आप एक बार में अपने ऐप के कई पेज प्रस्तुत करना चाहते हैं, लेकिन केवल उपयोगकर्ता को एक पृष्ठ प्रदर्शित करना चाहते हैं - उदा। यदि आप jquerymobile का उपयोग करते हैं - तो आप जितनी जल्दी हो सके उपयोगकर्ता को पहले पृष्ठ प्राप्त करने में सहायता के लिए स्ट्रीमिंग इंटरफ़ेस का उपयोग करेंगे - जबकि अतुल्यकालिक रूप से बाकी को प्रस्तुत करना। उम्मीद है कि यह

+0

धन्यवाद, यह बहुत उपयोगी था। क्या आप किसी अन्य धूल प्रलेखन संसाधनों के बारे में जानते हैं, जिनके बारे में मैंने प्रश्न में उल्लेख किया है? –

+3

नहीं। उन दोनों धूल के लिए दस्तावेज़ों के संदर्भ में काफी सुंदर हैं। मैं और अधिक समझने के लिए कोड के माध्यम से चला गया। मैं अपने ब्लॉग पर लिख सकता था। विशेष रूप से आपको कुछ भी समझाया जाना चाहिए? – asyraf9

+0

मुझे कई हिस्सों को उत्पन्न करने के उदाहरण में बहुत दिलचस्पी है और फिर उन्हें टेम्पलेट में स्ट्रीम करें। मैं वस्तुओं की एक बड़ी सूची के बारे में सोच रहा हूँ। मुझे लगता है कि स्ट्रीमिंग पूरी तरह से इस्तेमाल किया जा सकता है लेकिन शायद मैं गलत हूँ? – Redfox