Estoy tratando de aprender Tasker, y parece que ejecuta sus pasos de forma asíncrona, por lo que termino con una condición de carrera donde mi tarea no tiene los datos que necesita para continuar. Hice un par de tareas simples para probar. (Información sobre el hardware: LG G2 en Verizon ejecutando la ROM KitKat original, rooteado).
Tarea 1: Eco
- Conjunto de variables: [Nombre: %ret; A: %par1]
- Flash: [Texto: Par1 = %par1]
- Retorno: [Valor: %ret; Stop: On]
Tarea 2: Prueba del eco
- Realizar tarea: [Nombre: Eco; Prioridad: 2; Parámetro 1 (%par1): 5; Variable de valor de retorno: %var]
- Conjunto de variables: [Nombre: %dbl; To: %var * 2; Do Maths: On]
- Flash: [Texto: %var * 2 = %dbl]
Resultado esperado:
- Flash: "Par1 = 5"
- Flash: "5 * 2 = 10"
La salida real:
- Flash: "%var * 2 = 0"
- Flash: "Par1 = 5"
Mi pregunta es, ¿por qué Tasker no espera a que se complete el paso 1 antes de continuar con el paso 2? De hecho, ni siquiera estoy seguro de que funcione correctamente en primer lugar. En mi tarea Echo Test, he añadido una espera de 2 segundos después de llamar a la tarea Echo, y ahora mi salida es esta:
- Flash: "Par1 = 5"
- Flash: "%var * 2 = 0"
Así que el %var
no parece que se establezca en absoluto. ¿Estoy haciendo algo mal, o mi instalación de Tasker es mala?