คลาส 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>;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
ค่า | ออบเจ็กต์ | ออบเจ็กต์ที่มีหลายค่า |
การคืนสินค้า:
คำมั่นสัญญา<โมฆะ>
แก้ไขเมื่อการซิงค์ข้อมูลกับฐานข้อมูลเสร็จสมบูรณ์