Actualmente estoy pasando a usar el paquete web y he agregado este fragmento de código antes de la inicialización de mi aplicación.
delete window.IntersectionObserver; if (!('IntersectionObserver' in window)) { console.log(`Load observer`); import('/node_modules/intersection-observer/intersection-observer.js'); console.log(`Loaded`); } console.log(`Start`); Elimino IntersectionObserver solo con fines de prueba.
Pero cuando ejecuto el código, obtengo los registros como Load observer -> Loaded -> Start
Pero hasta donde yo sé, la import devuelve una promesa, lo que significa que debería ser asíncrono, ¿o es un comportamiento diferente con el que no estoy familiarizado?
Estaba esperando Load observer -> Start -> Loaded .
Si desea esperar la promesa, debe colocar el segundo console.log dentro de una cláusula " then() " como esta
delete window.IntersectionObserver; if (!('IntersectionObserver' in window)) { console.log(`Load observer`); import('/node_modules/intersection-observer/intersection-observer.js').then(module => console.log(`Loaded`)); } console.log(`Start`);o usa async/await así
(async () => { delete window.IntersectionObserver; if (!('IntersectionObserver' in window)) { console.log(`Load observer`); await import('/node_modules/intersection-observer/intersection-observer.js'); console.log(`Loaded`); } console.log(`Start`); })();