Arquivos do actor
Crie actors como arquivos TypeScript no diretório de actors do seu projeto. Cada actor fica em seu próprio subdiretório embase44/actors/, com um arquivo entry.ts:
base44
actors
chatRoom
entry.ts
base44.actors.chatRoom. Exporte a classe do actor como exportação padrão do arquivo entry.ts.
Você pode incluir arquivos .ts, .js, .json e .jsonc adicionais no diretório do actor e importá-los a partir do entry.ts.
entry.ts
O arquivo de código contém a classe do seu actor. ImporteActor de base44:runtime/actors e exporte uma classe que estende Actor como exportação padrão. Passe os genéricos Incoming e Outgoing para tipar as mensagens que o actor recebe e envia.
Implemente os seguintes métodos da classe. O método handleStart() é opcional:
-
handleStart(): Carrega os dados salvos da sessão do armazenamento para os campos da classe. A Base44 chama esse handler sempre que a sessão é ativada, para que seu estado restaurado esteja pronto antes que a Base44 processe qualquer conexão. Para um exemplo completo de armazenamento, veja persistir dados da sessão. -
handleConnect(): Envia o estado atual da sessão para o cliente que está se conectando. Para rejeitar conexões ou identificar clientes, veja gerenciar conexões de clientes. -
handleMessage(): Atualiza o estado da sessão, persiste o estado e transmite a mudança. -
handleClose(): Remove qualquer estado vinculado àquela conexão. Se não houver estado de conexão para limpar, escreva um corpo vazio. -
handleTick(): Executa código a cada intervalo de tick. Se o actor não usa ticks, escreva um corpo vazio. Para configurar ticks, veja executar ticks. Para agendar um wake único, veja agendar wakes.
ChatRoom simplificado:
Veja também
- Visão geral de actors: Conceitos e terminologia
- Arquivos e código de actors: API completa da classe de backend
- Actors: fluxos de exemplo: Mais padrões para timers, conexões, armazenamento e entidades
actors deploy: Implante seu actor na Base44
Esta página foi traduzida usando IA. Para as informações mais precisas e atualizadas, consulte a versão em inglês.