Buscabas joangarnet.com? Estás en el sitio correcto.
Más información aquí
Were you looking for joangarnet.com or joanllenas.com? You are in the right place.
More info here

Parsley Task Commands

Parsley permite crear Commands que devuelven cualquier cosa. Por defecto se soporta void, AsyncToken y Task, siendo éste último tipo de datos el menos popular y desconocido. Provablemente porque no hay documentación al respecto, solo una mención de la posibilidad de hacerlo.
A continuación una explicación y un pequeño ejemplo de cómo crear un DynamicCommand que devuelve y controla el transcurso de un Task.

La primera clave para que la funcionalidad llegue a procesarse es inicializar el contexto con soporte de TaskCommands.

MXML:
  1. <fx:Declarations>
  2.     <parsley:ContextBuilder>
  3.         <parsley:TaskCommandSupport/>
  4.         <parsley:FlexConfig type="{ Context }"/>
  5.     </parsley:ContextBuilder>
  6. </fx:Declarations>

La segunda es obviamente crear un Command cuyo método execute() devuelva Task.
Y la tercera que el método de retorno tenga el primer argumento de tipo Task, ya que ésto es lo que el procesador de TaskCommands devuelve.

Actionscript:
  1. package {
  2.     import org.spicefactory.lib.task.Task;
  3.     public class MyTaskCommand
  4.     {
  5.         public function execute(msg:MyMessage):Task
  6.         {
  7.             var myTask:Task = new MyTask();
  8.             return myTask;
  9.         }
  10.  
  11.         public function result(tsk:Task, msg:MyTask):void
  12.         {
  13.         }
  14.     }
  15. }

En el ejemplo que muestro a continuación se puede ver cómo implementar un DynamicCommand que realiza una operación de suma con un número indeterminado de operandos. La clave es utilizar un SequentialTaskGroup dentro de un Command que al completarse permite conocer el resultado gracias a la integración del Command con el Task.

Comments are closed.