Digamos que he definido una animación de lottie usando var anim = bodymovin.loadAnimation({<anim data here>})
Ahora, lo que quiero hacer es algo como:
anim.playSegments([80,101]); console.log("example"); anim.playSegments([102,121]); El problema aquí es que console.log no está esperando a que termine el primer segmento para poder ejecutarse. Se ejecuta tan pronto como comienza el primer segmento.
Entiendo esto debido a que javascript es síncrono, pero ¿hay alguna forma de ejecutarlo de forma asíncrona? En otras palabras, ¿hay alguna forma de que console.log espere a que termine el primer segmento antes de ejecutarse?
Reproducir segmento -> hacer algo -> reproducir otro segmento
anim.playSegments([80,101]).then(() => { console.log("test") }); anim.playSegments([102,121]); no funcionó Devuelve Uncaught TypeError: Cannot read properties of undefined (reading 'then')
anim.playSegments([80,101]) anim.onComplete = function() { console.log("Test") } anim.playSegments([102,121]); Esto ejecutará console.log() después de que se complete el segundo segmento.
anim.playSegments([80,101]) anim.onComplete = function() { console.log("frame!"); anim.playSegments([102,121]); }esto mantendrá el segundo segmento en bucle, ya que lo reproducirá una vez que esté completo.