जब आपका क्लाइंट डेटाबेस सर्वर से डिसकनेक्ट करता है, तो onDisconnect
क्लास आपको डेटा लिखने या मिटाने की अनुमति देती है. ये अपडेट होते हैं, चाहे आपका क्लाइंट बिना किसी रुकावट के डिसकनेक्ट हो जाए या नहीं, इसलिए कनेक्शन टूटने या क्लाइंट क्रैश होने पर भी आप डेटा हटाने के लिए उन पर भरोसा कर सकते हैं.
आम तौर पर, onDisconnect
क्लास का इस्तेमाल ऐप्लिकेशन में मौजूदगी को मैनेज करने के लिए किया जाता है. इससे यह पता चलता है कि कितने क्लाइंट कनेक्ट हैं और कब अन्य क्लाइंट डिसकनेक्ट होते हैं. ज़्यादा जानकारी के लिए JavaScript में ऑफ़लाइन क्षमताएं चालू करना देखें.
अनुरोधों को डेटाबेस सर्वर पर ट्रांसफ़र करने से पहले कनेक्शन टूट जाने पर, समस्याओं से बचने के लिए कोई भी डेटा लिखने से पहले इन फ़ंक्शन को कॉल किया जाना चाहिए.
ध्यान दें कि onDisconnect
कार्रवाइयां सिर्फ़ एक बार ट्रिगर होती हैं. अगर आप चाहते हैं कि हर बार डिसकनेक्ट होने पर कोई कार्रवाई हो, तो हर बार फिर से कनेक्ट होने पर आपको onDisconnect
कार्रवाइयां फिर से शुरू करनी होंगी.
हस्ताक्षर:
export declare class OnDisconnect
तरीके
तरीका | मॉडिफ़ायर | ब्यौरा |
---|---|---|
cancel() | इस स्थान और सभी चिल्ड्रेन के लिए पहले से कतारबद्ध onDisconnect() सेट या अपडेट इवेंट रद्द करता है.अगर इस स्थान के लिए किसी अभिभावक स्थान पर set() या update() के माध्यम से लिखा गया है, तो इस स्थान पर लिखना रद्द कर दिया जाएगा, हालांकि प्रतिरूप स्थानों को लिखना अब भी होगा. |
|
remove() | यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा मिटा दिया जाए (ब्राउज़र बंद करने, किसी नए पेज पर जाने या नेटवर्क की समस्याओं की वजह से). | |
सेट(वैल्यू) | यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा बताई गई वैल्यू पर सेट हो. ब्राउज़र बंद करने, किसी नए पेज पर जाने या नेटवर्क की समस्याओं की वजह से ऐसा हो सकता है. "मौजूदगी" को लागू करने के लिए, set() खास तौर पर काम का होता है सिस्टम, जिनमें किसी वैल्यू को बदलने या हटाने की ज़रूरत तब होती है, जब कोई उपयोगकर्ता डिसकनेक्ट करता है, ताकि वह "ऑफ़लाइन" दिखे अन्य उपयोगकर्ताओं को दिखते हैं. ज़्यादा जानकारी के लिए, JavaScript में ऑफ़लाइन क्षमताएं चालू करना देखें.ध्यान दें कि onDisconnect कार्रवाइयां सिर्फ़ एक बार ट्रिगर होती हैं. अगर आप चाहते हैं कि हर बार डिसकनेक्ट होने पर कोई कार्रवाई हो, तो आपको हर बार onDisconnect कार्रवाइयां फिर से शुरू करनी होंगी. |
|
setWithPrivacy(वैल्यू, प्राथमिकता) | यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा दी गई वैल्यू और प्राथमिकता पर सेट हो (ब्राउज़र बंद होने की वजह से, किसी नए पेज पर नेविगेट करने पर या नेटवर्क की समस्याओं की वजह से). | |
अपडेट(वैल्यू) | क्लाइंट के डिसकनेक्ट होने पर इस जगह पर एक से ज़्यादा वैल्यू लिखता है (ब्राउज़र बंद करने, किसी नए पेज पर नेविगेट करने या नेटवर्क की समस्याओं की वजह से).values आर्ग्युमेंट में कई प्रॉपर्टी-वैल्यू पेयर होते हैं जिन्हें डेटाबेस में एक साथ लिखा जाएगा. हर चाइल्ड प्रॉपर्टी कोई आसान प्रॉपर्टी (उदाहरण के लिए, "name") या मौजूदा जगह से अपडेट करने के लिए "name/first" जैसे मिलते-जुलते पाथ हो सकती है.set() तरीके के उलट, update() का इस्तेमाल सिर्फ़ मौजूदा जगह की सिर्फ़ रेफ़र की गई प्रॉपर्टी को अपडेट करने के लिए किया जा सकता है (मौजूदा जगह की सभी चाइल्ड प्रॉपर्टी को बदलने के बजाय). |
Onडिसकनेक्ट.cancel()
इस जगह और सभी बच्चों के लिए, पहले से सूची में रखे गए सभी onDisconnect()
सेट या अपडेट किए गए इवेंट रद्द कर देता है.
अगर इस जगह के लिए पैरंट लोकेशन पर set()
या update()
के ज़रिए लिखा गया लिखा गया है, तो इस जगह पर लिखना रद्द कर दिया जाएगा. हालांकि, सिबलिंग लोकेशन को अब भी लिखा जाएगा.
हस्ताक्षर:
cancel(): Promise<void>;
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
सर्वर से सिंक पूरा हो जाने पर यह समस्या हल होती है.
Onडिसकनेक्ट.remove()
यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा मिटा दिया जाए (ब्राउज़र बंद करने, किसी नए पेज पर जाने या नेटवर्क की समस्याओं की वजह से).
हस्ताक्षर:
remove(): Promise<void>;
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
सर्वर से सिंक पूरा हो जाने पर यह समस्या हल होती है.
Onडिसकनेक्ट.set()
यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा बताए गए मान पर सेट हो (ब्राउज़र बंद होने की वजह से, किसी नए पेज पर जाने पर या नेटवर्क की समस्याओं की वजह से).
"मौजूदगी" को लागू करने के लिए, set()
खास तौर पर फ़ायदेमंद होता है सिस्टम, जिनमें किसी वैल्यू को बदलने या हटाने की ज़रूरत तब होती है, जब कोई उपयोगकर्ता डिसकनेक्ट करता है, ताकि वह "ऑफ़लाइन" दिखे अन्य उपयोगकर्ताओं को दिखते हैं. ज़्यादा जानकारी के लिए JavaScript में ऑफ़लाइन क्षमताएं चालू करना देखें.
ध्यान दें कि onDisconnect
कार्रवाइयां सिर्फ़ एक बार ट्रिगर होती हैं. अगर आप चाहते हैं कि हर बार डिसकनेक्ट होने पर कोई कार्रवाई हो, तो आपको हर बार onDisconnect
कार्रवाइयां फिर से शुरू करनी होंगी.
हस्ताक्षर:
set(value: unknown): Promise<void>;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value | अज्ञात | डिसकनेक्ट होने पर, इस जगह पर लिखी जाने वाली वैल्यू (कोई ऑब्जेक्ट, अरे, स्ट्रिंग, नंबर, बूलियन या शून्य हो सकता है). |
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
डेटाबेस के लिए सिंक्रोनाइज़ेशन पूरा होने पर हल होता है.
Onडिसकनेक्ट.setWithप्राथमिकता()
यह पक्का करता है कि क्लाइंट के डिसकनेक्ट होने पर, इस जगह का डेटा दी गई वैल्यू और प्राथमिकता पर सेट हो (ब्राउज़र बंद होने की वजह से, किसी नए पेज पर नेविगेट करने पर या नेटवर्क की समस्याओं की वजह से).
हस्ताक्षर:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
value | अज्ञात | डिसकनेक्ट होने पर, इस जगह पर लिखी जाने वाली वैल्यू (कोई ऑब्जेक्ट, अरे, स्ट्रिंग, नंबर, बूलियन या शून्य हो सकता है). |
प्राथमिकता | नंबर | स्ट्रिंग | शून्य | लिखी जाने वाली प्राथमिकता (स्ट्रिंग, संख्या या शून्य). |
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
डेटाबेस के लिए सिंक्रोनाइज़ेशन पूरा होने पर हल होता है.
Onडिसकनेक्ट.update()
क्लाइंट के डिसकनेक्ट होने पर इस जगह पर एक से ज़्यादा वैल्यू लिखता है (ब्राउज़र बंद होने, किसी नए पेज पर नेविगेट करने या नेटवर्क की समस्याओं की वजह से).
values
आर्ग्युमेंट में, एक से ज़्यादा प्रॉपर्टी वैल्यू के पेयर हैं, जिन्हें डेटाबेस में एक साथ लिखा जाएगा. हर चाइल्ड प्रॉपर्टी कोई सामान्य प्रॉपर्टी (उदाहरण के लिए, "नाम") हो सकती है या मौजूदा जगह से अपडेट किए जाने वाले डेटा तक का मिलता-जुलता पाथ (उदाहरण के लिए, "नाम/पहला") हो सकता है.
set()
तरीके के उलट, update()
का इस्तेमाल मौजूदा जगह पर सिर्फ़ रेफ़र की गई प्रॉपर्टी को चुनिंदा अपडेट करने के लिए किया जा सकता है (मौजूदा जगह की सभी चाइल्ड प्रॉपर्टी को बदलने के बजाय).
हस्ताक्षर:
update(values: object): Promise<void>;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
मान | ऑब्जेक्ट | ऑब्जेक्ट में एक से ज़्यादा वैल्यू हैं. |
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
डेटाबेस के लिए सिंक्रोनाइज़ेशन पूरा होने पर हल होता है.