تسمح لك الفئة onDisconnect
بكتابة البيانات أو محوها عندما ينقطع اتصال العميل بخادم قاعدة البيانات. وتحدث هذه التحديثات سواء انقطع الاتصال ببرنامج العميل أم لا، لذلك يمكنك الاعتماد عليها لتنظيف البيانات حتى إذا انقطع الاتصال أو تعطّل العميل.
تُستخدَم الفئة onDisconnect
بشكل أكثر شيوعًا لإدارة الحضور في التطبيقات حيث يكون من المفيد رصد عدد العملاء المتصلين ووقت قطع اتصال البرامج الأخرى. راجع تفعيل إمكانات وضع عدم الاتصال بالإنترنت في JavaScript للحصول على مزيد من المعلومات.
لتجنب المشكلات عند قطع الاتصال قبل نقل الطلبات إلى خادم قاعدة البيانات، يجب استدعاء هذه الدوال قبل كتابة أي بيانات.
تجدر الإشارة إلى أنّ عمليات onDisconnect
يتم تشغيلها مرة واحدة فقط. إذا أردت تنفيذ عملية في كل مرة يحدث فيها انقطاع، فيجب إعادة إنشاء عمليات onDisconnect
في كل مرة تعيد فيها الاتصال.
Signature:
export declare class OnDisconnect
الطُرق
الطريقة | المعدِّلات | الوصف |
---|---|---|
cancel() | لإلغاء جميع أحداث onDisconnect() التي تم وضعها في قائمة الانتظار سابقًا أو تعديلها لهذا الموقع الجغرافي وكل العناصر الفرعية.إذا تمت إضافة كتابة إلى هذا الموقع عبر set() أو update() في موقع رئيسي، سيتم إلغاء عملية الكتابة في هذا الموقع، ولكن ستستمر عمليات الكتابة في المواقع التابعة. |
|
remove() | يضمن حذف البيانات في هذا الموقع عند قطع اتصال العميل (بسبب إغلاق المتصفح، أو الانتقال إلى صفحة جديدة، أو مشاكل في الشبكة). | |
set(value) | يضمن ضبط البيانات في هذا الموقع على القيمة المحددة عندما يكون العميل غير متصل (بسبب إغلاق المتصفح، أو الانتقال إلى صفحة جديدة، أو مشاكل في الشبكة).set() مفيد بشكل خاص لتنفيذ "التواجد" الأنظمة التي يجب فيها تغيير القيمة أو محوها عند قطع اتصال المستخدم بالشبكة لتظهر "في وضع عدم الاتصال" للمستخدمين الآخرين. راجِع تفعيل إمكانات وضع عدم الاتصال بالإنترنت في JavaScript للحصول على مزيد من المعلومات.يُرجى العلم أنّ عمليات onDisconnect لا يتم تشغيلها سوى مرة واحدة. إذا أردت تنفيذ عملية في كل مرة يحدث فيها انقطاع، فينبغي إعادة إنشاء عمليات onDisconnect كل مرة. |
|
setWithPriority(القيمة, الأولوية) | تضمن هذه السياسة ضبط البيانات في هذا الموقع على القيمة والأولوية المحدّدَين عندما يكون العميل غير متصل (بسبب إغلاق المتصفّح أو الانتقال إلى صفحة جديدة أو مشاكل في الشبكة). | |
update(values) | تكتب قيمًا متعددة في هذا الموقع عندما يكون العميل غير متصل (بسبب إغلاق المتصفح أو الانتقال إلى صفحة جديدة أو مشاكل في الشبكة).تحتوي الوسيطة values على عدة أزواج من قيم الخصائص والقيم التي ستتم كتابتها إلى قاعدة البيانات معًا. يمكن أن يكون كل موقع إلكتروني فرعي إمّا سمة بسيطة (مثل "name") أو مسارًا نسبيًا (مثل "الاسم/الأول") من الموقع الجغرافي الحالي إلى البيانات المطلوب تعديلها.على عكس طريقة set() ، يمكن استخدام update() لتعديل السمات المُشار إليها فقط في الموقع الحالي بشكل انتقائي (بدلاً من استبدال كل المواقع الفرعية في الموقع الجغرافي الحالي). |
OnUninstall.cancel() ()
يؤدي هذا الإجراء إلى إلغاء جميع الأحداث التي تم ضبطها في "onDisconnect()
" والتي سبق أن تم وضعها في قائمة الانتظار، أو تعديل الأحداث لهذا الموقع الجغرافي وجميع العناصر الفرعية.
إذا تمت إضافة كتابة إلى قائمة انتظار هذا الموقع عبر set()
أو update()
في موقع رئيسي، سيتم إلغاء الكتابة في هذا الموقع، ولكن ستستمر عمليات الكتابة في المواقع التابعة.
Signature:
cancel(): Promise<void>;
المرتجعات:
وعود <باطلة>
يتم حلها عند اكتمال المزامنة مع الخادم.
OnConnected.remove()
يضمن حذف البيانات في هذا الموقع عند قطع اتصال العميل (بسبب إغلاق المتصفح، أو الانتقال إلى صفحة جديدة، أو مشاكل في الشبكة).
Signature:
remove(): Promise<void>;
المرتجعات:
وعود <باطلة>
يتم حلها عند اكتمال المزامنة مع الخادم.
OnConnected.set()
تضمن هذه السياسة ضبط البيانات في هذا الموقع على القيمة المحدّدة عندما يكون العميل غير متصل (بسبب إغلاق المتصفّح أو الانتقال إلى صفحة جديدة أو مشاكل في الشبكة).
يمكن الاستفادة من set()
على وجه التحديد في تنفيذ ميزة "الحضور" الأنظمة التي يجب فيها تغيير القيمة أو محوها عند قطع اتصال المستخدم بالشبكة لتظهر "في وضع عدم الاتصال" للمستخدمين الآخرين. راجع تفعيل إمكانات وضع عدم الاتصال بالإنترنت في JavaScript للحصول على مزيد من المعلومات.
تجدر الإشارة إلى أنّ عمليات onDisconnect
يتم تشغيلها مرة واحدة فقط. إذا أردت تنفيذ عملية في كل مرة يحدث فيها انقطاع، فينبغي إعادة إنشاء عمليات onDisconnect
كل مرة.
Signature:
set(value: unknown): Promise<void>;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
القيمة | غير معروف | القيمة المطلوب كتابتها على هذا الموقع عند قطع الاتصال (يمكن أن تكون كائنًا أو مصفوفة أو سلسلة أو رقم أو منطقية أو فارغة). |
المرتجعات:
وعود <باطلة>
الحل عند اكتمال المزامنة مع قاعدة البيانات.
OnConnected.setWithPriority()
تضمن هذه السياسة ضبط البيانات في هذا الموقع على القيمة والأولوية المحدّدَين عندما يكون العميل غير متصل (بسبب إغلاق المتصفّح أو الانتقال إلى صفحة جديدة أو مشاكل في الشبكة).
Signature:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
القيمة | غير معروف | القيمة المطلوب كتابتها على هذا الموقع عند قطع الاتصال (يمكن أن تكون كائنًا أو مصفوفة أو سلسلة أو رقم أو منطقية أو فارغة). |
الأولوية | الرقم | سلسلة | فارغ | الأولوية التي يجب كتابتها (سلسلة أو رقم أو قيمة خالية). |
المرتجعات:
وعود <باطلة>
الحل عند اكتمال المزامنة مع قاعدة البيانات.
OnUnsubscribe.update()
تكتب قيمًا متعددة في هذا الموقع عندما يكون العميل غير متصل (بسبب إغلاق المتصفح، أو الانتقال إلى صفحة جديدة، أو مشاكل في الشبكة).
تحتوي الوسيطة values
على أزواج خاصية وقيم ستتم كتابتها في قاعدة البيانات معًا. يمكن أن يكون كل موقع إلكتروني فرعي إمّا سمة بسيطة (مثل "name") أو مسارًا نسبيًا (مثل "الاسم/الأول") من الموقع الجغرافي الحالي إلى البيانات المطلوب تعديلها.
على عكس طريقة set()
، يمكن استخدام update()
لتعديل السمات المُشار إليها فقط بشكل انتقائي في الموقع الجغرافي الحالي (بدلاً من استبدال جميع السمات الفرعية في الموقع الجغرافي الحالي).
Signature:
update(values: object): Promise<void>;
المَعلمات
المعلمة | النوع | الوصف |
---|---|---|
values | كائن | عنصر يحتوي على قيم متعددة. |
المرتجعات:
وعود <باطلة>
الحل عند اكتمال المزامنة مع قاعدة البيانات.