5.7.3 Utilizar la API de macros

En Host Access for the Cloud, las macros se graban y escriben mediante JavaScript. JavaScript es un lenguaje de programación popular y predominante. Existe gran variedad de recursos didácticos y herramientas disponibles para usted.

La API de macros consiste en un conjunto de objetos que puede utilizar para interactuar con el host, esperar estados de pantallas e interactuar con el usuario.

Acerca de promises y yields

Debido a que JavaScript se controla mediante un solo subproceso y utiliza "callback functions" y "promises" para ayudar a gestionar el flujo de ejecución del código, a veces puede ser difícil seguir el código. Host Access for the Cloud combina el concepto de "promises" con la clave "yield" para que el código de la macro se pueda organizar de forma más lineal.

  • Promises

    Promises son patrones que ayudan a simplificar funciones que devuelven sus resultados de forma asíncrona en algún momento en el futuro. Todas las funciones "wait" y "ui" de la API de macros devuelven objetos "promise".

  • Yield

    Las macros utilizan la palabra clave "yield" para bloquear la ejecución de la macro hasta que se resuelva o realice una "promise". Así, si se coloca yield enfrente de cualquier función ‘wait’ o ‘ui’, se detiene la ejecución hasta que esa función ha terminado de ejecutarse. Puede colocar la clave yield enfrente de cualquier función que devuelva una promise, también de sus propias funciones personalizadas.

NOTA:La capacidad de bloquear la ejecución de la macro combinado yield con promises está habilitada por la función createMacro() .

Errores

Los errores se pueden tratar en las macros utilizando una instrucción try / catch. Algunas funciones API pueden arrojar errores si, por ejemplo, no se cumplen las condiciones o si se sobrepasa el tiempo de espera. El error arrojado es ‘atrapado’ en la instrucción catch. Puede ajustar bloques de código más pequeños en una instrucción try / catch para tratar los errores a un nivel más granular. Los desarrolladores de macro pueden arrojar también errores con 'throw new Error('Mensaje de error útil');

Temas relacionados