क्या setItem(key,value)फ़ंक्शन अतुल्यकालिक है?
localStorage.setItem("key",someText);
क्या setItem(key,value)फ़ंक्शन अतुल्यकालिक है?
localStorage.setItem("key",someText);
जवाबों:
नहीं, सभी localStorageकॉल सिंक्रोनस हैं।
nbfया expटोकन से संबंधित है ।
वास्तव में। वेब संग्रहण HTML5 कोर मानक का हिस्सा नहीं है, इसे अलग कर दिया गया है।
प्रासंगिक (ड्राफ्ट) विनिर्देश यहां पाया जा सकता है और एक बात जो आप नोटिस करेंगे, वह यह है कि यह कहीं भी तुल्यकालिक या अतुल्यकालिक का उल्लेख नहीं करता है।
हालाँकि, पाठ के विश्लेषण से यह पता चलेगा कि यह समकालिक (मेरा बोल्ड) होना चाहिए:
SetItem (कुंजी, मूल्य) विधि पहले जांच करना चाहिए, तो किसी कुंजी के साथ एक मुख्य / मान जोड़े को पहले से ही वस्तु के साथ जुड़े सूची में मौजूद है।
यदि ऐसा नहीं होता है, तो एक नई कुंजी / मूल्य जोड़ी को सूची में जोड़ा जाना चाहिए, दिए गए कुंजी के साथ और इसके मूल्य के मूल्य के साथ सेट करें।
यदि दी गई कुंजी सूची में मौजूद है, और इसका मूल्य मूल्य के बराबर नहीं है, तो इसका मूल्य के लिए अद्यतन मूल्य होना चाहिए । यदि इसका पिछला मान मान के बराबर है, तो विधि को कुछ भी नहीं करना चाहिए।
मानकों में, जैसे शब्द must, shallऔर बहुत विशिष्ट अर्थ mayले जाते हैं। तथ्य यह है कि यह किस विधि के बारे में बात कर रहा है इसका मतलब यह है कि विधि को स्वयं इसे करना चाहिए, इसे बाद के कुछ समय के लिए स्थगित नहीं करना चाहिए।
यह सामान्य ज्ञान को भी प्रभावित करता है। यदि setItemअतुल्यकालिक थे, तो एक आइटम को एक विशिष्ट मूल्य पर सेट करना संभव होगा, फिर तुरंत इसे पुनः प्राप्त करें, इसके पिछले मूल्य को प्राप्त करना।
वहाँ है भंडारण इंटरफ़ेस अनुभाग जो अतुल्यकालिक व्यवहार करने की संभावना पर संकेत के तल पर एक ध्यान दें:
इस विनिर्देश की आवश्यकता नहीं है कि उपरोक्त तरीके तब तक प्रतीक्षा करते हैं जब तक कि डेटा डिस्क पर भौतिक रूप से नहीं लिखा गया हो। केवल कुंजी / मूल्य जोड़े की समान अंतर्निहित सूची तक पहुँचने वाली विभिन्न लिपियों में क्या स्थिरता है, यह आवश्यक है।
हालाँकि, यह केवल उस चीज़ के संदर्भ में है जो दीर्घकालिक भंडारण के लिए लिखी गई है। अंतिम वाक्य यह बताता है कि समान भंडारण वस्तु तक पहुँचने वाली स्क्रिप्ट को चीजों को समकालिक रूप से देखना आवश्यक है।
LocalStorage। जब मैं 10 आइटम संग्रहीत करता हूं, तो मुझे उनमें से 3 की याद आती है। मैं वास्तव में विश्वास करता हूं कि यह अतुल्यकालिक है, लेकिन अगर यह किया जाए तो कैसे जांचें। मुझे कॉलबैक कहां जोड़ना है?
must, shall, mayRFC2119 ऊपर टिप्पणी ietf.org/rfc/rfc2119.txt
इस सवाल का जवाब पहले ही दिया जा चुका है। जो कोई भी भविष्य में इसके लिए आता है, उसके लिए जावास्क्रिप्ट प्रकृति द्वारा तुल्यकालिक है। चीजें केवल async हैं हम ऐसा करने के लिए निर्दिष्ट हैं। इस वजह से, आप यह मान सकते हैं कि सभी चीजें सिंक्रोनस हैं जब तक कि वे async निर्दिष्ट नहीं हैं। यह जावास्क्रिप्ट के साथ है, जावास्क्रिप्ट में लिखे गए फ्रेमवर्क नहीं। वे कई बार इस प्रथा को तोड़ते हैं। नोडजे की तरह।