看看这个代码:
<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”函数是异步的,它会“fork”事件处理程序块代码的流程。实际上:
$('#link').click(function () {
console.log("Enter");
asyncFunct();
console.log("Exit");
});
function asyncFunct() {
console.log("finished");
}
跟随代码块的流程!
如果我想要创建一个行为类似于 function asyncFunct() { }
的函数,该如何用javascript/jquery实现?我认为可以不使用setTimeout()
来实现。