A classe onDisconnect
permite gravar ou limpar dados quando seu cliente se desconecta do servidor de banco de dados. Essas atualizações ocorrem independentemente de o seu cliente se desconectar corretamente ou não, portanto, você pode contar com elas para limpar os dados mesmo se uma conexão for interrompida ou um cliente travar.
A classe onDisconnect
é mais comumente usada para gerenciar a presença em aplicativos onde é útil detectar quantos clientes estão conectados e quando outros clientes se desconectam. Consulte Habilitando recursos off-line em JavaScript para obter mais informações.
Para evitar problemas quando uma conexão é interrompida antes que as solicitações possam ser transferidas para o servidor de banco de dados, essas funções devem ser chamadas antes de gravar quaisquer dados.
Observe que as operações onDisconnect
são acionadas apenas uma vez. Se quiser que uma operação ocorra sempre que ocorrer uma desconexão, você precisará restabelecer as operações onDisconnect
sempre que se reconectar.
Assinatura:
export declare class OnDisconnect
Métodos
Método | Modificadores | Descrição |
---|---|---|
cancelar() | Cancela todos os eventos de configuração ou atualização onDisconnect() previamente enfileirados para este local e todos os filhos. Se uma gravação tiver sido enfileirada para este local por meio de set() ou update() em um local pai, a gravação neste local será cancelada, embora as gravações em locais irmãos ainda ocorram. | |
remover() | Garante que os dados neste local sejam excluídos quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede). | |
definir (valor) | Garante que os dados neste local sejam definidos com o valor especificado quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede). set() é especialmente útil para implementar sistemas de "presença", onde um valor deve ser alterado ou apagado quando um usuário se desconecta, para que pareça "offline" para outros usuários. Consulte Habilitando recursos off-line em JavaScript para obter mais informações. Observe que as operações onDisconnect são acionadas apenas uma vez. Se quiser que uma operação ocorra sempre que ocorrer uma desconexão, você precisará restabelecer as operações onDisconnect todas as vezes. | |
setWithPriority(valor, prioridade) | Garante que os dados neste local sejam definidos com o valor e a prioridade especificados quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede). | |
atualizar(valores) | Grava vários valores neste local quando o cliente está desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede). O argumento values contém vários pares propriedade-valor que serão gravados juntos no banco de dados. Cada propriedade filha pode ser uma propriedade simples (por exemplo, "nome") ou um caminho relativo (por exemplo, "nome/primeiro") do local atual até os dados a serem atualizados. Ao contrário do método set() , update() pode ser usado para atualizar seletivamente apenas as propriedades referenciadas no local atual (em vez de substituir todas as propriedades filhas no local atual). |
OnDisconnect.cancel()
Cancela todos os eventos de configuração ou atualização onDisconnect()
previamente enfileirados para este local e todos os filhos.
Se uma gravação tiver sido enfileirada para este local por meio de set()
ou update()
em um local pai, a gravação neste local será cancelada, embora as gravações em locais irmãos ainda ocorram.
Assinatura:
cancel(): Promise<void>;
Retorna:
Promessa<void>
Resolve quando a sincronização com o servidor é concluída.
OnDisconnect.remove()
Garante que os dados neste local sejam excluídos quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede).
Assinatura:
remove(): Promise<void>;
Retorna:
Promessa<void>
Resolve quando a sincronização com o servidor é concluída.
OnDisconnect.set()
Garante que os dados neste local sejam definidos com o valor especificado quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede).
set()
é especialmente útil para implementar sistemas de "presença", onde um valor deve ser alterado ou apagado quando um usuário se desconecta, para que pareça "offline" para outros usuários. Consulte Habilitando recursos off-line em JavaScript para obter mais informações.
Observe que as operações onDisconnect
são acionadas apenas uma vez. Se quiser que uma operação ocorra sempre que ocorrer uma desconexão, você precisará restabelecer as operações onDisconnect
todas as vezes.
Assinatura:
set(value: unknown): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
valor | desconhecido | O valor a ser gravado neste local na desconexão (pode ser um objeto, matriz, string, número, booleano ou nulo). |
Retorna:
Promessa<void>
Resolve quando a sincronização com o Banco de Dados é concluída.
OnDisconnect.setWithPriority()
Garante que os dados neste local sejam definidos com o valor e a prioridade especificados quando o cliente for desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede).
Assinatura:
setWithPriority(value: unknown, priority: number | string | null): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
valor | desconhecido | O valor a ser gravado neste local na desconexão (pode ser um objeto, matriz, string, número, booleano ou nulo). |
prioridade | número | corda | nulo | A prioridade a ser escrita (string, número ou nulo). |
Retorna:
Promessa<void>
Resolve quando a sincronização com o Banco de Dados é concluída.
OnDisconnect.update()
Grava vários valores neste local quando o cliente está desconectado (devido ao fechamento do navegador, navegação para uma nova página ou problemas de rede).
O argumento values
contém vários pares propriedade-valor que serão gravados juntos no banco de dados. Cada propriedade filha pode ser uma propriedade simples (por exemplo, "nome") ou um caminho relativo (por exemplo, "nome/primeiro") do local atual até os dados a serem atualizados.
Ao contrário do método set()
, update()
pode ser usado para atualizar seletivamente apenas as propriedades referenciadas no local atual (em vez de substituir todas as propriedades filhas no local atual).
Assinatura:
update(values: object): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
valores | objeto | Objeto contendo vários valores. |
Retorna:
Promessa<void>
Resolve quando a sincronização com o Banco de Dados é concluída.