您好,登錄后才能下訂單哦!
如何在JavaScript中使用callback回調函數?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
基本理解一個概念
回調函數回頭再調用函數,等主干事情干完了,再回頭干分支上的事情。
官方定義
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
實例1
//定義主函數,回調函數作為參數 function A(callback) { callback(); console.log('我是主函數'); } //定義回調函數 function B(){ setTimeout("console.log('我是回調函數')", 3000);//模仿耗時操作 } //調用主函數,將函數B傳進去 A(B);
輸出結果:
我是主函數
我是回調函數
實例2
function a() { console.log("執行a函數"); setTimeout(function(){ console.log("執行a函數的延遲函數"); },1000); function b() { console.log("執行函數b"); ); a(); b(); };
輸出結果
以上代碼會先執行函數a,而且不會等到a中的延遲函數執行完才執行函數b, 在延遲函數被觸發的過程中就執行了函數b,當js引擎的event 隊列空閑時才會去執行隊列里等待的setTimeout的回調函數,這就是一個異步的例子
調用 setTimeout 函數會在一個時間段過去后在隊列中添加一個消息。這個時間段作為函數的第二個參數被傳入。如果隊列中沒有其它消息,消息會被馬上處理。但是,如果有其它消息,setTimeout 消息必須等待其它消息處理完。因此第二個參數僅僅表示最少的時間 而非確切的時間
所以即使,時間設置為0,也是會照樣先執行函數b
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。