У меня есть 4 функции, которые я хочу выполнить последовательно.
В частности, 4-я функция должна выполняться только после завершения всех трех предыдущих функций.
Я пытался использовать обратные вызовы, но дляуверен, что я не использую это правильно.Как мне сделать это последовательно.
Я слышал о функции then
в JavaScript, но похоже, что она работает только с ECMAScript 6
(не уверен), но когда я пытаюсь использовать ее в своем скрипте, появляется неопределенная ошибка.
function longRunningFunction(callBack) {
setTimeout(function() {
$('#div1').html('Div1 Done');
}, 5000);
setTimeout(function() {
$('#div2').html('Div2 Done');
}, 5000);
setTimeout(function() {
$('#div3').html('Div3 Done');
}, 5000);
callBack();
}
longRunningFunction(function() {
setTimeout(function() {
$('#div4').html('But changes 1st!');
}, 3000);
});
#div4 {
font-weight: bold;
color: red;
}
#div1 {
margin-top: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div4">
My content should be changes at last!
</div>
<div id="div1">
Div1
</div>
<div id="div2">
Div2
</div>
<div id="div3">
Div3
</div>