Archivos del actor
Crea los actores como archivos TypeScript en el directorio de actores de tu proyecto. Cada actor vive en su propio subdirectorio dentro debase44/actors/ con un archivo entry.ts:
base44
actors
chatRoom
entry.ts
base44.actors.chatRoom. Exporta la clase del actor como exportación predeterminada desde el archivo entry.ts.
Puedes incluir archivos .ts, .js, .json y .jsonc adicionales en el directorio del actor e importarlos desde entry.ts.
entry.ts
El archivo de código contiene la clase de tu actor. ImportaActor desde base44:runtime/actors y exporta como exportación predeterminada una clase que extienda Actor. Pasa los genéricos Incoming y Outgoing para tipar los mensajes que el actor recibe y envía.
Implementa los siguientes métodos de clase. El método handleStart() es opcional:
-
handleStart(): Carga los datos de sesión guardados desde el almacenamiento en los campos de la clase. Base44 llama a este manejador cada vez que se activa la sesión, así tu estado restaurado está listo antes de que Base44 gestione cualquier conexión. Para ver un ejemplo completo de almacenamiento, consulta conservar los datos de sesión. -
handleConnect(): Envía el estado actual de la sesión al cliente que se conecta. Para rechazar conexiones o identificar clientes, consulta gestionar las conexiones de clientes. -
handleMessage(): Actualiza el estado de la sesión, lo conserva y difunde el cambio. -
handleClose(): Elimina cualquier estado vinculado a esa conexión. Si no hay estado de conexión que borrar, escribe un cuerpo vacío. -
handleTick(): Ejecuta código en cada intervalo de tick. Si el actor no usa ticks, escribe un cuerpo vacío. Para configurar ticks, consulta ejecutar ticks. Para programar un despertar único, consulta programar despertares.
ChatRoom simplificado:
Ver también
- Resumen de actores: Conceptos y terminología
- Archivos y código de actores: API completa de la clase de backend
- Actores: flujos de ejemplo: Más patrones para temporizadores, conexiones, almacenamiento y entidades
actors deploy: Despliega tu actor en Base44
Esta página fue traducida con IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.