OnDisconnect class

คลาส onDisconnect ช่วยให้คุณเขียนหรือล้างข้อมูลเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อจากเซิร์ฟเวอร์ฐานข้อมูลได้ การอัปเดตเหล่านี้จะเกิดขึ้นไม่ว่าไคลเอ็นต์จะตัดการเชื่อมต่ออย่างชัดเจนหรือไม่ คุณจึงไว้วางใจให้ไคลเอ็นต์ล้างข้อมูลได้ แม้ว่าการเชื่อมต่อจะหลุดหรือไคลเอ็นต์ขัดข้อง

คลาส onDisconnect นี้มักใช้กันมากที่สุดเพื่อจัดการการแสดงผลในแอปพลิเคชันที่มีประโยชน์สำหรับการตรวจหาจำนวนไคลเอ็นต์ที่เชื่อมต่ออยู่และเมื่อไคลเอ็นต์อื่นๆ ยกเลิกการเชื่อมต่อ โปรดดูข้อมูลเพิ่มเติมที่การเปิดใช้ความสามารถแบบออฟไลน์ใน JavaScript

ในการหลีกเลี่ยงปัญหาเมื่อการเชื่อมต่อถูกตัดก่อนที่จะสามารถโอนคำขอไปยังเซิร์ฟเวอร์ฐานข้อมูล ควรเรียกใช้ฟังก์ชันเหล่านี้ก่อนที่จะเขียนข้อมูล

โปรดทราบว่าระบบจะทริกเกอร์การดำเนินการ onDisconnect เพียงครั้งเดียว หากต้องการให้มีการดำเนินการทุกครั้งที่ยกเลิกการเชื่อมต่อ คุณจะต้องเริ่มดำเนินการ onDisconnect ใหม่ทุกครั้งที่เชื่อมต่ออีกครั้ง

ลายเซ็น:

export declare class OnDisconnect 

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
cancel() ยกเลิกการตั้งค่า onDisconnect() ที่อยู่ในคิวก่อนหน้าหรืออัปเดตกิจกรรมสำหรับสถานที่นี้และย่อยทั้งหมดหากมีการจัดคิวสำหรับสถานที่นี้ผ่าน set() หรือ update() ที่สถานที่หลัก การเขียนที่ตำแหน่งนี้จะถูกยกเลิก แต่การเขียนไปยังตำแหน่งข้างเคียงจะยังคงเกิดขึ้น
remove() ตรวจสอบว่าข้อมูลในตำแหน่งนี้ถูกลบออกเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเกี่ยวกับเครือข่าย)
set(ค่า) ตรวจสอบว่าข้อมูลที่ตำแหน่งนี้ได้รับการตั้งค่าเป็นค่าที่ระบุเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเกี่ยวกับเครือข่าย)set() มีประโยชน์อย่างยิ่งสำหรับการใช้ "การแสดงสถานะ" ที่ควรเปลี่ยนหรือล้างค่าเมื่อผู้ใช้ยกเลิกการเชื่อมต่อเพื่อให้ปรากฏเป็น "ออฟไลน์" ให้ผู้ใช้คนอื่นทราบ ดูข้อมูลเพิ่มเติมที่การเปิดใช้ความสามารถแบบออฟไลน์ใน JavaScriptโปรดทราบว่าการดำเนินการ onDisconnect จะทริกเกอร์เพียงครั้งเดียว หากต้องการให้มีการดำเนินการทุกครั้งที่ยกเลิกการเชื่อมต่อ คุณจะต้องเริ่มดำเนินการ onDisconnect ใหม่ทุกครั้ง
setWithPriority(ค่า, ลำดับความสำคัญ) ตรวจสอบว่าข้อมูลที่ตําแหน่งนี้ได้รับการตั้งค่าเป็นค่าและลําดับความสําคัญที่ระบุเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเครือข่าย)
update(ค่า) เขียนค่าหลายค่า ณ ตำแหน่งนี้เมื่อไคลเอ็นต์ถูกตัดการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเกี่ยวกับเครือข่าย)อาร์กิวเมนต์ values มีคู่คุณสมบัติ-ค่าหลายรายการที่จะเขียนลงในฐานข้อมูลพร้อมกัน พร็อพเพอร์ตี้ย่อยแต่ละรายการอาจเป็นพร็อพเพอร์ตี้แบบง่าย (เช่น "ชื่อ") หรือเส้นทางที่เกี่ยวข้อง (เช่น "ชื่อ/ชื่อแรก") จากตำแหน่งปัจจุบันไปยังข้อมูลที่จะอัปเดตทั้งนี้ ต่างจากเมธอด set() ที่ใช้ update() เพื่อเลือกอัปเดตเฉพาะพร็อพเพอร์ตี้ที่อ้างอิงในตำแหน่งปัจจุบันได้ (แทนที่จะแทนที่พร็อพเพอร์ตี้ย่อยทั้งหมดในตำแหน่งปัจจุบัน)

ยกเลิกการเชื่อมต่อเมื่อวันที่

ยกเลิกชุด onDisconnect() ที่อยู่ในคิวก่อนหน้านี้ทั้งหมด หรืออัปเดตกิจกรรมสำหรับสถานที่นี้และที่ย่อยทั้งหมด

ถ้ามีการเขียนเข้าคิวสำหรับตำแหน่งนี้ผ่าน set() หรือ update() ที่ตำแหน่งหลัก การเขียนที่ตำแหน่งนี้จะถูกยกเลิก แต่การเขียนไปยังตำแหน่งระดับเดียวกันจะยังคงเกิดขึ้น

ลายเซ็น:

cancel(): Promise<void>;

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

แก้ไขเมื่อการซิงค์กับเซิร์ฟเวอร์เสร็จสิ้น

OnCancel.remove()

ตรวจสอบว่าข้อมูลในตำแหน่งนี้ถูกลบออกเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเกี่ยวกับเครือข่าย)

ลายเซ็น:

remove(): Promise<void>;

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

แก้ไขเมื่อการซิงค์กับเซิร์ฟเวอร์เสร็จสิ้น

OnCancel.set()

ตรวจสอบว่าข้อมูลที่ตำแหน่งนี้ได้รับการตั้งค่าเป็นค่าที่ระบุเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือเครือข่ายเกิดปัญหา)

set() มีประโยชน์อย่างยิ่งสำหรับการใช้ "การปรากฏ" ที่ควรเปลี่ยนหรือล้างค่าเมื่อผู้ใช้ยกเลิกการเชื่อมต่อเพื่อให้ปรากฏเป็น "ออฟไลน์" ให้ผู้ใช้คนอื่นทราบ โปรดดูข้อมูลเพิ่มเติมที่การเปิดใช้ความสามารถแบบออฟไลน์ใน JavaScript

โปรดทราบว่าระบบจะทริกเกอร์การดำเนินการ onDisconnect เพียงครั้งเดียว หากต้องการให้มีการดำเนินการทุกครั้งที่ยกเลิกการเชื่อมต่อ คุณจะต้องเริ่มดำเนินการ onDisconnect ใหม่ทุกครั้ง

ลายเซ็น:

set(value: unknown): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
value ไม่ทราบ ค่าที่จะเขียนไปยังตำแหน่งนี้เมื่อยกเลิกการเชื่อมต่อ (อาจเป็นออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือ Null)

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

แก้ไขเมื่อการซิงค์ข้อมูลกับฐานข้อมูลเสร็จสมบูรณ์

OnCancel.setWithPriority()

ตรวจสอบว่าข้อมูลที่ตําแหน่งนี้ได้รับการตั้งค่าเป็นค่าและลําดับความสําคัญที่ระบุเมื่อไคลเอ็นต์ยกเลิกการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเครือข่าย)

ลายเซ็น:

setWithPriority(value: unknown, priority: number | string | null): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
value ไม่ทราบ ค่าที่จะเขียนไปยังตำแหน่งนี้เมื่อยกเลิกการเชื่อมต่อ (อาจเป็นออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือ Null)
Priority ตัวเลข | สตริง | ค่าว่าง ลำดับความสำคัญที่จะเขียน (สตริง ตัวเลข หรือค่าว่าง)

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

แก้ไขเมื่อการซิงค์ข้อมูลกับฐานข้อมูลเสร็จสมบูรณ์

OnCancel.update()

เขียนค่าหลายค่าในตำแหน่งนี้เมื่อไคลเอ็นต์ถูกตัดการเชื่อมต่อ (เนื่องจากการปิดเบราว์เซอร์ การไปยังหน้าใหม่ หรือปัญหาเกี่ยวกับเครือข่าย)

อาร์กิวเมนต์ values มีคู่คุณสมบัติ-ค่าหลายรายการที่จะเขียนลงในฐานข้อมูลร่วมกัน พร็อพเพอร์ตี้ย่อยแต่ละรายการอาจเป็นพร็อพเพอร์ตี้แบบง่าย (เช่น "ชื่อ") หรือเส้นทางที่เกี่ยวข้อง (เช่น "ชื่อ/ชื่อ") จากตําแหน่งปัจจุบันไปยังข้อมูลที่จะอัปเดต

นอกจากเมธอด set() แล้ว update() สามารถใช้เพื่อเลือกเฉพาะพร็อพเพอร์ตี้ที่อ้างอิงในตำแหน่งปัจจุบันได้ (แทนการแทนที่พร็อพเพอร์ตี้ย่อยทั้งหมดในตำแหน่งปัจจุบัน)

ลายเซ็น:

update(values: object): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่า ออบเจ็กต์ ออบเจ็กต์ที่มีหลายค่า

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

แก้ไขเมื่อการซิงค์ข้อมูลกับฐานข้อมูลเสร็จสมบูรณ์