Enviar mensajes con parametros

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:

PilasEngine * 2020-06-11 19-14-38

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!

1 Like

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!