Проверьте этот код :
<a href="#" id="link">Link</a>
<span>Moving</span>
$('#link').click(function () {
console.log("Enter");
$('#link').animate({ width: 200 }, 2000, function() {
console.log("finished");
});
console.log("Exit");
});
Как вы можете видеть в консоли, функция «animate» является асинхронной и «разветвляет» поток кода блока обработчика событий. По факту :
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
следить за потоком кода блока!
Если я хочу создать свой function asyncFunct() { }
с этим поведением, как я могу сделать это с помощью javascript / jquery? Я думаю , что есть стратегия без использования setTimeout()