項目中經常會用到異步方法,一不小心就會掉進坑里,昨天就被坑了一下。
我這里對 callback 的認知就是把一個方法當做一個參數傳入,然后在代碼里面執行完畢之后在調用 callback 方法,它的適用場景非常廣泛,不過在異步執行中最能體現它的價值。
簡單使用回調函數的demo:
1 <html> 2 <head> 3 <script type="text/javascript"> 4 function disp_alert(callBackFun) 5 { 6 alert("我是警告框!!"); 7 callBackFun() 8 } 9 </script> 10 </head> 11 <body> 12 13 <input type="button" onclick="disp_alert(function callFun (){alert('我是callback方法')})" value="顯示警告框" /> 14 15 </body> 16 </html>
*模擬的時候請添加 .js 文件*
分析代碼中的例子發現,我們把函數傳入之后並不是立即就執行的,而是在調用的函數里面通過調用實現的,這就說明我們想在什么時候調用回調方法都可以,
這是一個非常方便的事情,比如我們可以通過 callback 傳入參數,根據參數判斷狀態,繼續執行方法等等