Kiểm tra mã này :
<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");
});
Như bạn có thể thấy trong bảng điều khiển, chức năng "animate" không đồng bộ và nó "rẽ nhánh" là dòng chảy của mã khối xử lý sự kiện. Trong thực tế :
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
theo dòng chảy của mã khối!
Nếu tôi muốn tạo function asyncFunct() { }
hành vi của mình với hành vi này, làm thế nào tôi có thể làm điều đó với javascript / jquery? Tôi nghĩ rằng đó là một chiến lược mà không cần dùng setTimeout()