現在我們有三個函數,f1, f2, f3
按正常的思路我們會這樣寫代碼:
但是假如我們f2這個函數在執行的時候會花費大量時間,或者直接就進入了一個死循環了,那我們的f3就别指望能被調用了,因為Javascript語言的執行環境是"單線程"(single thread)。
所謂"單線程",就是指一次隻能完成一件任務。如果有多個任務,就必須排隊,前面一個任務完成,再執行後面一個任務,以此類推。
為了應對這樣的事情,我們就有了異步模式程式設計;
要點:setTimeout 和 setInterval這兩個定時器預設都是異步模式執行
我們把代碼寫成這樣:
這種方式是采用事件驅動模式。即任務的執行不取決于代碼的順序,而取決于某個事件是否發生
部落格中所涉及到的圖檔都有版權,請謹慎使用