@cran/vue.core
Version:
Cranberry Vue Core Utilities
17 lines (16 loc) • 502 B
JavaScript
export async function waitForAnimations(el, timeout) {
const animations = el.getAnimations();
const promises = [
Promise.all(animations.map(async function mapAnimation(animation) {
return animation.finished;
})),
];
if (timeout) {
promises.push(new Promise(function resolver(resolve) {
setTimeout(function onTimeout() {
resolve(animations);
}, timeout);
}));
}
return Promise.race(promises);
}