View a markdown version of this page

Dependencias de los datos y consideraciones de tiempo - AWS Estudio de aplicaciones

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Dependencias de los datos y consideraciones de tiempo

Al crear aplicaciones complejas en App Studio, es fundamental comprender y gestionar las dependencias de los datos entre los diferentes componentes de datos, como los formularios, las vistas detalladas y los componentes basados en la automatización. Es posible que los componentes de datos y las automatizaciones no completen la recuperación o ejecución de los datos al mismo tiempo, lo que puede provocar problemas de temporización, errores y comportamientos inesperados. Si eres consciente de los posibles problemas de temporización y sigues las prácticas recomendadas, puedes crear experiencias de usuario más confiables y consistentes en tus aplicaciones de App Studio.

Algunos de los posibles problemas son los siguientes:

  1. Conflictos de tiempo de renderización: los componentes de datos pueden renderizarse en un orden que no coincide con sus dependencias de datos, lo que podría provocar incoherencias o errores visuales.

  2. Tiempo de ejecución de la automatización: las tareas de automatización pueden completarse antes de que los componentes se carguen por completo, lo que provoca errores de ejecución en el tiempo de ejecución.

  3. Fallos de los componentes: los componentes que funcionan con automatizaciones pueden fallar si las respuestas no son válidas o cuando la automatización no ha terminado de ejecutarse.

Ejemplo: detalles del pedido e información del cliente

Este ejemplo demuestra cómo las dependencias entre los componentes de datos pueden provocar problemas de temporización y posibles errores en la visualización de los datos.

Considere una aplicación con los dos componentes de datos siguientes en la misma página:

  • Un componente de detalle (orderDetails) que obtiene los datos del pedido.

  • Un componente de detalle (customerDetails) que muestra los detalles del cliente relacionados con el pedido.

En esta aplicación, hay dos campos en el componente de orderDetails detalles, configurados con los siguientes valores:

// 2 text fields within the orderDetails detail component // Info from orderDetails Component {{ui.orderDetails.data[0].name}} // Info from customerDetails component {{ui.customerDetails.data[0].name}} // Problematic reference

En este ejemplo, el orderDetails componente intenta mostrar el nombre del cliente haciendo referencia a los datos del customerDetails componente. Esto es problemático porque el orderDetails componente puede renderizarse antes de que customerDetails haya obtenido sus datos. Si la búsqueda de datos del customerDetails componente se retrasa o falla, el orderDetails componente mostrará información incompleta o incorrecta.

Mejores prácticas en cuanto a la dependencia de los datos y los tiempos

Usa las siguientes prácticas recomendadas para mitigar los problemas de dependencia de los datos y de temporización en tu aplicación de App Studio:

  1. Usa el renderizado condicional: renderiza los componentes o muestra los datos solo cuando hayas confirmado que están disponibles. Usa sentencias condicionales para comprobar la presencia de datos antes de mostrarlos. El siguiente fragmento muestra un ejemplo de declaración condicional:

    {{ui.someComponent.data ? ui.someComponent.data.fieldName : "Loading..."}}
  2. Gestione la visibilidad de los componentes secundarios: en el caso de componentes como Stepflow, Form o Detail que representan los elementos secundarios antes de cargar los datos, defina manualmente la visibilidad de los componentes secundarios. El siguiente fragmento muestra un ejemplo de cómo configurar la visibilidad en función de la disponibilidad de los datos de los componentes principales:

    {{ui.parentComponent.data ? true : false}}
  3. Utilice consultas de unión: cuando sea posible, utilice las consultas de unión para obtener datos relacionados en una sola consulta. Esto reduce la cantidad de búsquedas de datos independientes y minimiza los problemas de tiempo entre los componentes de datos.

  4. Implemente la gestión de errores en las automatizaciones: Implemente una gestión sólida de los errores en sus automatizaciones para gestionar correctamente los escenarios en los que los datos esperados no estén disponibles o se reciban respuestas no válidas.

  5. Utilice el encadenamiento opcional: cuando acceda a las propiedades anidadas, utilice el encadenamiento opcional para evitar errores si una propiedad principal no está definida. El siguiente fragmento muestra un ejemplo de encadenamiento opcional:

    {{ui.component.data?.[0]?.fieldSystemName}}