Проверьте этот код :
<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()