Я имею в виду, проверьте этот код:
<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()