Пишу кастомный слайдер, в коде использую библиотеку animejs.
timeLine - линия показывающая сколько осталось до смены слайда.
function timing должна вернуть true при выполнении, это я сделал, но теперь когда я пытаюсь получить объект animeTiming , что бы перезапустить анимацию по клику на buttonNext, я получаю promis.
const timeLine = document.querySelector('.slider-timing__line');
const buttonNext = document.querySelector('.slider-arrow.next');
let animeTiming
buttonNext.addEventListener('click', nextSlide);
function nextSlide(event) {
event.preventDefault()
console.log(animeTiming); //promise{<pending>}
}
async function timing(duration, delay) {
let isComplete = false;
animeTiming = anime({
targets: timeLine,
width: ['0%', '100%'],
duration,
delay,
easing: 'linear',
complete: () => {
timeLine.removeAttribute('style');
isComplete = true;
}
}).finished;
await Promise.all([animeTiming]);
return isComplete;
};
async function test() {
let a = await timing(10000, 1000);
console.log( a );
}
test()
Подскажите что нибудь.