Sprawdź ten kod :
<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");
});
Jak widać w konsoli, funkcja „animate” jest asynchroniczna i „rozwidla” przepływ kodu blokowego modułu obsługi zdarzeń. W rzeczywistości :
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
podążaj za przepływem kodu blokowego!
Jeśli chcę utworzyć plik function asyncFunct() { }
z takim zachowaniem, jak mogę to zrobić za pomocą javascript / jquery? Myślę, że jest to strategia bez użycia setTimeout()