File degli actor
Crea gli actor come file TypeScript nella directory degli actor del tuo progetto. Ogni actor si trova in una propria sottodirectory sottobase44/actors/ con un file entry.ts:
base44
actors
chatRoom
entry.ts
base44.actors.chatRoom. Esporta la classe dell’actor come export predefinito del file entry.ts.
Puoi includere altri file .ts, .js, .json e .jsonc nella directory dell’actor e importarli da entry.ts.
entry.ts
Il file di codice contiene la classe del tuo actor. ImportaActor da base44:runtime/actors ed esporta come export predefinito una classe che estende Actor. Passa i generici Incoming e Outgoing per tipizzare i messaggi che l’actor riceve e invia.
Implementa i seguenti metodi della classe. Il metodo handleStart() è facoltativo:
-
handleStart(): Carica nei campi della classe i dati di sessione salvati nello storage. Base44 chiama questo handler ogni volta che la sessione si attiva. Così lo stato ripristinato è pronto prima che Base44 gestisca qualsiasi connessione. Per un esempio completo di storage, consulta rendere persistenti i dati di sessione. -
handleConnect(): Invia lo stato attuale della sessione al client che si connette. Per rifiutare connessioni o identificare i client, consulta gestire le connessioni dei client. -
handleMessage(): Aggiorna lo stato della sessione, rendilo persistente e trasmetti la modifica. -
handleClose(): Rimuovi qualsiasi stato legato a quella connessione. Se non c’è stato di connessione da eliminare, scrivi un corpo vuoto. -
handleTick(): Esegui codice a ogni intervallo di tick. Se l’actor non usa i tick, scrivi un corpo vuoto. Per configurare i tick, consulta eseguire i tick. Per pianificare un risveglio singolo, consulta pianificare i wake.
ChatRoom semplificato:
Vedi anche
- Panoramica degli actor: Concetti e terminologia
- File e codice degli actor: API completa della classe di backend
- Actor: flussi di esempio: Altri pattern per timer, connessioni, storage ed entità
actors deploy: Distribuisci il tuo actor su Base44
Questa pagina è stata tradotta con l’AI. Per le informazioni più accurate e aggiornate, consulta la versione inglese.