OnDisconnect class

Lớp onDisconnect cho phép bạn ghi hoặc xóa dữ liệu khi máy khách của bạn ngắt kết nối khỏi máy chủ Cơ sở dữ liệu. Những cập nhật này xảy ra cho dù máy khách của bạn có ngắt kết nối hoàn toàn hay không, vì vậy bạn có thể dựa vào chúng để dọn sạch dữ liệu ngay cả khi kết nối bị ngắt hoặc máy khách gặp sự cố.

Lớp onDisconnect được sử dụng phổ biến nhất để quản lý sự hiện diện trong các ứng dụng hữu ích trong việc phát hiện số lượng máy khách được kết nối và khi các máy khách khác ngắt kết nối. Xem Kích hoạt khả năng ngoại tuyến trong JavaScript để biết thêm thông tin.

Để tránh sự cố khi kết nối bị ngắt trước khi yêu cầu có thể được chuyển đến máy chủ Cơ sở dữ liệu, các chức năng này phải được gọi trước khi ghi bất kỳ dữ liệu nào.

Lưu ý rằng hoạt động onDisconnect chỉ được kích hoạt một lần. Nếu bạn muốn một thao tác xảy ra mỗi khi xảy ra ngắt kết nối, bạn sẽ cần thiết lập lại các thao tác onDisconnect mỗi khi bạn kết nối lại.

Chữ ký:

export declare class OnDisconnect 

phương pháp

Phương pháp sửa đổi Sự miêu tả
Hủy bỏ() Hủy tất cả các sự kiện đã đặt hoặc cập nhật onDisconnect() đã xếp hàng trước đó cho vị trí này và tất cả các sự kiện con. Nếu việc ghi đã được xếp hàng đợi cho vị trí này thông qua set() hoặc update() tại vị trí mẹ thì việc ghi tại vị trí này sẽ bị hủy, mặc dù việc ghi vào vị trí anh em vẫn sẽ xảy ra.
di dời() Đảm bảo dữ liệu tại vị trí này sẽ bị xóa khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng).
đặt giá trị) Đảm bảo dữ liệu tại vị trí này được đặt thành giá trị được chỉ định khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng). set() đặc biệt hữu ích để triển khai các hệ thống "hiện diện", trong đó giá trị sẽ được thay đổi hoặc xóa khi người dùng ngắt kết nối để chúng xuất hiện "ngoại tuyến" với những người dùng khác. Xem Kích hoạt khả năng ngoại tuyến trong JavaScript để biết thêm thông tin. Lưu ý rằng hoạt động onDisconnect chỉ được kích hoạt một lần. Nếu bạn muốn một thao tác xảy ra mỗi khi xảy ra ngắt kết nối, bạn sẽ cần thiết lập lại các thao tác onDisconnect mỗi lần.
setWithPriority(giá trị, mức độ ưu tiên) Đảm bảo dữ liệu tại vị trí này được đặt thành giá trị và mức độ ưu tiên được chỉ định khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến một trang mới hoặc sự cố mạng).
cập nhật (giá trị) Ghi nhiều giá trị tại vị trí này khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng). Đối values chứa nhiều cặp giá trị thuộc tính sẽ được ghi vào Cơ sở dữ liệu cùng nhau. Mỗi thuộc tính con có thể là một thuộc tính đơn giản (ví dụ: "tên") hoặc một đường dẫn tương đối (ví dụ: "tên/tên") từ vị trí hiện tại đến dữ liệu cần cập nhật. Ngược lại với phương thức set() , update() có thể được sử dụng để chỉ cập nhật có chọn lọc các thuộc tính được tham chiếu tại vị trí hiện tại (thay vì thay thế tất cả các thuộc tính con tại vị trí hiện tại).

OnDisconnect.cancel()

Hủy tất cả các sự kiện đã đặt hoặc cập nhật onDisconnect() đã xếp hàng trước đó cho vị trí này và tất cả các sự kiện con.

Nếu việc ghi đã được xếp hàng đợi cho vị trí này thông qua set() hoặc update() tại vị trí mẹ thì việc ghi tại vị trí này sẽ bị hủy, mặc dù việc ghi vào vị trí anh em vẫn sẽ xảy ra.

Chữ ký:

cancel(): Promise<void>;

Trả về:

Hứa<void>

Giải quyết khi đồng bộ hóa với máy chủ hoàn tất.

OnDisconnect.remove()

Đảm bảo dữ liệu tại vị trí này sẽ bị xóa khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng).

Chữ ký:

remove(): Promise<void>;

Trả về:

Hứa<void>

Giải quyết khi đồng bộ hóa với máy chủ hoàn tất.

OnDisconnect.set()

Đảm bảo dữ liệu tại vị trí này được đặt thành giá trị được chỉ định khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng).

set() đặc biệt hữu ích để triển khai các hệ thống "hiện diện", trong đó giá trị sẽ được thay đổi hoặc xóa khi người dùng ngắt kết nối để chúng xuất hiện "ngoại tuyến" với những người dùng khác. Xem Kích hoạt khả năng ngoại tuyến trong JavaScript để biết thêm thông tin.

Lưu ý rằng hoạt động onDisconnect chỉ được kích hoạt một lần. Nếu bạn muốn một thao tác xảy ra mỗi khi xảy ra ngắt kết nối, bạn sẽ cần thiết lập lại các thao tác onDisconnect mỗi lần.

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
giá trị không xác định Giá trị được ghi vào vị trí này khi ngắt kết nối (có thể là một đối tượng, mảng, chuỗi, số, boolean hoặc null).

Trả về:

Hứa<void>

Giải quyết khi đồng bộ hóa với Cơ sở dữ liệu hoàn tất.

OnDisconnect.setWithPriority()

Đảm bảo dữ liệu tại vị trí này được đặt thành giá trị và mức độ ưu tiên được chỉ định khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng).

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
giá trị không xác định Giá trị được ghi vào vị trí này khi ngắt kết nối (có thể là một đối tượng, mảng, chuỗi, số, boolean hoặc null).
sự ưu tiên số | chuỗi | vô giá trị Mức độ ưu tiên được ghi (chuỗi, số hoặc null).

Trả về:

Hứa<void>

Giải quyết khi đồng bộ hóa với Cơ sở dữ liệu hoàn tất.

OnDisconnect.update()

Ghi nhiều giá trị tại vị trí này khi máy khách bị ngắt kết nối (do đóng trình duyệt, điều hướng đến trang mới hoặc sự cố mạng).

Đối values chứa nhiều cặp giá trị thuộc tính sẽ được ghi vào Cơ sở dữ liệu cùng nhau. Mỗi thuộc tính con có thể là một thuộc tính đơn giản (ví dụ: "tên") hoặc một đường dẫn tương đối (ví dụ: "tên/tên") từ vị trí hiện tại đến dữ liệu cần cập nhật.

Ngược lại với phương thức set() , update() có thể được sử dụng để chỉ cập nhật có chọn lọc các thuộc tính được tham chiếu tại vị trí hiện tại (thay vì thay thế tất cả các thuộc tính con tại vị trí hiện tại).

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
giá trị sự vật Đối tượng chứa nhiều giá trị.

Trả về:

Hứa<void>

Giải quyết khi đồng bộ hóa với Cơ sở dữ liệu hoàn tất.