ลองดูรหัสนี้:
<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()