Soy nuevo en angular y estoy probando cosas diferentes. Recientemente, me topé con un problema que requiere que tome algunas medidas en función de los resultados que devuelve el k, pero antes de que se cargue algo en la aplicación.
En este momento, estoy llamando a un webapi en el kof app.component.ts y, en base a eso, estoy ocultando el contenido en el sitio web, pero recientemente noté una respuesta lenta del servidor que provocó una respuesta lenta del webapi , por lo tanto, las acciones. que debían tomarse se retrasan, por lo tanto, no ocultan el contenido.
Ahora, en lugar de la aplicación. app.component donde llamo a la API que devuelve la promesa y luego inyecto el resultado en el css de la k del cuerpo, necesito poner la llamada a la API en algún lugar hasta que se devuelva el resultado, el sistema no debería continuar.
actualizar:
ngOninit() de app.component, hemos llamado a una API que básicamente devuelve verdadero/falso. En base a eso, se inyecta una clase de 'tipo' en el documento.cuerpo, es decir, IsVisible. Y en el Sass de app.component deshabilita los logos y demás contenidos en la página web.
llamada api
const res= app.services.getIsActiveType().toPromise(); document.body.ClassList.Add(res.type);en descaro
body { &.Type{ logos { dispaly: none; } } }Si está buscando la inicialización antes de que se muestre algo, necesita APP_INITIALIZER
Un token DI que puede usar para proporcionar una o más funciones de inicialización.
Las funciones proporcionadas se inyectan al inicio de la aplicación y se ejecutan durante la inicialización de la aplicación. Si alguna de estas funciones devuelve una Promesa o un Observable, la inicialización no se completa hasta que se resuelva la Promesa o se complete el Observable.
Puede, por ejemplo, crear una función de fábrica que cargue datos de idioma o una configuración externa y proporcionar esa función al token APP_INITIALIZER. La función se ejecuta durante el proceso de arranque de la aplicación y los datos necesarios están disponibles al inicio.
usar la propiedad canLoad o canActive del enrutador puede ayudarlo.