Я столкнулся с проблемой, которая сводит меня с ума уже около 10 дней ... По сути, у меня есть функция, которая запускает (handleText
), и я хочу дождаться окончания этой функции, прежде чем запустить вторую (handleBackground
).
Я пытался отложить и обещания, но я думаю, что я не понимаю их хорошо, потому что я не могу заставить его работать так, как я хочу.
function handleText(){
//BLAST INIT
var blastedwords = $('.baselineHeader').blast({
delimiter: 'word',
});
//SHUFFLE ORDER IN ARRAY
blastedwords = shuffleAds( blastedwords);
function shuffleAds(arr){
for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
return arr;
}
//ADD CLASS TO SPAN CREATED WITH BLAST WITH A RANDOM DELAY
blastedwords.each(function(index) {
var min = 45, max = 100;
var delay = Math.floor(Math.random() * (max - min) + min);
var that = $(this);
var t = setTimeout(function() {
$(that).addClass("test");
}, delay * index);
});
}
function handleBackground(){
$('.baselineHeader').addClass('processed');
}
handleText();
handleBackground();
В данный момент handleText
start и handleBackground
(моя вторая функция, которую я хочу запустить после завершения первой) запускаются одновременно и не ждут, пока handleText
завершит работу.
Я хочу, чтобы handleText
запускался и ждал, пока каждый цикл даст класс каждому диапазону, созданному с помощью blast.js, прежде чем запускать handleBackground
.
Может кто-нибудь помочь мне с этим?Хорошего дня, ребята:)