Hola, estaba intentando enviar mensajes con parámetros pero no entiendo bien la documentación, hay algún ejemplo funcional?
Hola @Santiago_Arguello, si, para enviar parámetros con los mensajes hay que usar el segundo argumento de la función enviar_mensaje_global
. Este segundo argumento
es opcional, por eso no está en algunos ejemplos.
Por ejemplo, imagina que quiero enviar el mensaje con un número aleatorio y el nombre
del actor que envía el mensaje, lo que tendría que hacer es crear un diccionario con esos
dos valores y agregarlos a la función así:
this.enviar_mensaje_global("mi_mensaje", {
numero: this.pilas.azar(-100, 100),
quien: "botón"
})
Luego en la función que “atenderá” ese mensaje, los parámetros van a llegar como un diccionario en la variable datos
:
cuando_llega_el_mensaje_mi_mensaje(datos) {
// usar: datos.numero
// o bien: datos.quien
}
Te paso un ejemplo, en la pantalla vas a ver un botón que cuando se pulsa calcula
un numero al azar y lo envía globalmente en un mensaje. Luego el actor aceituna
“recibe” ese mensaje y muestra un texto mostrando los parámetros que encontró
en el mensaje:
Desde acá vas a poder consultar el código:
https://app.pilas-engine.com.ar/#/proyecto/4c049f09-06c2-4c41-8558-4852b187ab8e
¡Avisame si te sirve!, yo de paso voy a mejorar un poco la documentación de este
método porque veo que no tenemos ningún ejemplo que muestre esto de los parámetros.
¡Abrazo!
Ahh genial, lo que me confundia era el nombre del metodo que lo recibe, no entendia si debia respetar el nombre del mensaje anteponiendo cuando_llega_el_mensaje_ o si habia otra forma de definir cuando_llega_un_mensaje()
Gracias!