मैं वेब वर्कर्स एपीआई का उपयोग करने के लिए वास्तविक दुनिया की खोज में हूं ।
मैं वेब वर्कर्स एपीआई का उपयोग करने के लिए वास्तविक दुनिया की खोज में हूं ।
जवाबों:
जॉन रेजिग (jQuery की प्रसिद्धि का) यहाँ वेब कर्मचारियों का उपयोग करने के दिलचस्प उदाहरणों का एक गुच्छा है - खेल, ग्राफिक्स, क्रिप्टो।
एक अन्य उपयोग वेब I / O है - दूसरे शब्दों में, पृष्ठभूमि में URL को मतदान करना। इस तरह से आप यूआई को मतदान के परिणाम की प्रतीक्षा में अवरुद्ध नहीं करते हैं।
एक और व्यावहारिक उपयोग: Bespin में, वे सिंटैक्स हाइलाइटिंग करने के लिए वेब वर्कर्स का उपयोग कर रहे हैं, जिसे आप ऐप का उपयोग करते समय अपने कोड संपादन को ब्लॉक नहीं करना चाहेंगे ।
से मोज़िला : एक तरह से श्रमिकों उपयोगी है अपने कोड यूजर इंटरफेस धागा को रोके बिना प्रोसेसर गहन गणना करने के लिए अनुमति देने के लिए कर रहे हैं।
एक व्यावहारिक उदाहरण के रूप में, एक ऐसे ऐप के बारे में सोचें, जिसमें # की एक बड़ी तालिका हो (यह वास्तविक दुनिया है, BTW - एक ऐप से लिया गया है जिसे मैंने 2 साल पहले क्रमादेशित किया था)। आप इनपुट फ़ील्ड के माध्यम से एक तालिका में एक # बदल सकते हैं और विभिन्न स्तंभों में अन्य संख्याओं का एक गुच्छा एक काफी गहन प्रक्रिया में पुन: गणना कर सकते हैं।
पुराना वर्कफ़्लो था: # बदलें। जा कॉफ़ी प्राप्त करें जबकि अन्य नंबरों में परिवर्तन के माध्यम से जावास्क्रिप्ट क्रंच करता है और वेब पेज 3 मिनट के लिए अनुत्तरदायी है - जब मैंने इसे नरक और पीठ पर अनुकूलित किया। कॉफी के साथ वापस जाओ। एक दूसरा # बदलें। कई बार दोहराएं। SAVE बटन पर क्लिक करें।
श्रमिकों के साथ नया वर्कफ़्लो हो सकता है: # बदलें। एक स्थिति संदेश प्राप्त करें कि कुछ को फिर से जोड़ा जा रहा है लेकिन आप अन्य # को बदल सकते हैं। और # बदलो। जब परिवर्तन किया जाता है, तब तक प्रतीक्षा करें जब तक स्थिति में परिवर्तन नहीं होता है, "सभी गणना पूरी हो जाती है, अब आप अंतिम # समीक्षा कर सकते हैं और बचा सकते हैं"।
मैंने उन्हें ब्राउज़र से सर्वर तक बड़ी मात्रा में डेटा भेजने के लिए उपयोग किया है। जाहिर है, आप इसे नियमित AJAX कॉल के साथ कर सकते हैं, लेकिन यदि यह प्रति होस्टनाम में से एक कीमती कनेक्शन लेता है। इस प्रक्रिया के दौरान यदि उपयोगकर्ता पृष्ठ परिवर्तन करता है (उदाहरण के लिए एक लिंक पर क्लिक करता है), तो पिछले पृष्ठ से आपके जावास्क्रिप्ट ऑब्जेक्ट चले जाते हैं और आप कॉलबैक की प्रक्रिया नहीं कर सकते। जब एक वेब कर्मचारी का उपयोग किया जाता है, तो यह गतिविधि बैंड से बाहर हो जाती है, इसलिए आपके पास बेहतर गारंटी है कि यह पूरा हो जाएगा।
एक और प्रयोग मामला:
पृष्ठभूमि में संपीड़ित / डी-कम्प्रेसिंग फाइलें, यदि आपके पास बहुत सारी छवियां और अन्य मीडिया फाइलें हैं जो संपीड़ित प्रारूप में सर्वर से एक्सचेंज की जाती हैं।
<canvas>
), तो आप एक संकुचित प्रारूप (यानी पीएनजी) में छवि डेटा प्राप्त कर सकते हैं। मेरी बात यह नहीं थी कि जेएस में संपीड़ित करना कभी भी उचित नहीं है; मेरा कहना था कि ज्यादातर मामलों में , यह नहीं है , और ज्यादातर मामलों के लिए - विशेष रूप से छवियों से निपटना, जो कि इस उत्तर के बारे में बात करता है - अपने स्वयं के संपीड़न को रोल करने का एक बेहतर विकल्प है।