@@LeParadoxHD ¡Gracias por la respuesta rápida! 😃. Algo interesante sobre esto, y que puede complementar lo del video, es que se pueden utilizar varios inicializadores, pero también se puede definir el orden en que se ejecutan para que uno espere a que el otro termine, ¿cierto? Porque a veces pueden ser dependientes.
@@LeParadoxHD así lo he hecho yo, mas no sé si es la mejor opción, ni tampoco creo que sea la única: { provide: APP_INITIALIZER, multi: true, deps: [FirstService, SecondService], useFactory: (first: FirstService, second: SecondService) => { return () => { return first.load().then(()=>{ return second.load() }); }; } }
Ah vale, así más o menos es como lo hago yo, lo que ocurre que yo intento que toda la lógica esté en un único servicio y también que ese mismo servicio, la función principal que se llama agrupe a todas las demás y las ejecute en orden. Otra manera que se me ocurre es tener un Subject para cada factory de APP_INITIALIZER de los que otros dependen para que el siguiente sepa cuando debe arrancar.
Gracias por el vídeo. Quiero calcular la Ip de mi cliente cuando arranca la App y guardarla para para poder usarla a lo largo de la aplicación. ¿Sería este el lugar adecuado para leer la ip? Gracias
Excelente video, gracias!
Excelente información, gracias!
Muchas gracias, viene muy bien tu explicación, un saludo
Hola gracias por la informacion, queria preguntar por que no se puede usar directamente un useClass directamente.
Depende del provider que le des en "provide:", en el caso de APP_INITIALIZER te pide una Function Factory.
¡Muchas gracias por el video! Por cierto, ¿para qué se usa el multi: true?
Se usa para poder definir múltiples instancias de un proveedor, en este caso, de APP_INITIALIZER.
@@LeParadoxHD ¡Gracias por la respuesta rápida! 😃. Algo interesante sobre esto, y que puede complementar lo del video, es que se pueden utilizar varios inicializadores, pero también se puede definir el orden en que se ejecutan para que uno espere a que el otro termine, ¿cierto? Porque a veces pueden ser dependientes.
¿Como haces lo de definir el orden?
@@LeParadoxHD así lo he hecho yo, mas no sé si es la mejor opción, ni tampoco creo que sea la única:
{
provide: APP_INITIALIZER,
multi: true,
deps: [FirstService, SecondService],
useFactory: (first: FirstService, second: SecondService) => {
return () => {
return first.load().then(()=>{
return second.load()
});
};
}
}
Ah vale, así más o menos es como lo hago yo, lo que ocurre que yo intento que toda la lógica esté en un único servicio y también que ese mismo servicio, la función principal que se llama agrupe a todas las demás y las ejecute en orden.
Otra manera que se me ocurre es tener un Subject para cada factory de APP_INITIALIZER de los que otros dependen para que el siguiente sepa cuando debe arrancar.
Gracias por el vídeo.
Quiero calcular la Ip de mi cliente cuando arranca la App y guardarla para para poder usarla a lo largo de la aplicación. ¿Sería este el lugar adecuado para leer la ip? Gracias
Es el mejor lugar.
Y si lo combinas con un InjectionToken te será más fácil de usar incluso.