Review JS的非同步與同步

2022-09-08 12:12:15 字數 445 閱讀 7617

一、概念

同步(synchronous):指在js的主線程上,所有任務被依次執行;

非同步(asynchronous):指任務不進入主線程,進入任務佇列(task);當「任務佇列」通知主線程,非同步任務才進入主線程執行。

二、非同步的機制

任務佇列裡的事件主要指io裝置或使用者行為觸發的事件。

三、非同步函式

四、promise和async/await的區別

promise

const makerequest = () =>getjson()

.then(data =>)

makerequest()

async/await

const makerequest = async () =>

makerequest()

綜上,async更簡潔。

同步與非同步

同步執行模式 所謂同步執行模式,是指語句在同步執行模式下,將始終保持對程式流的控制,直至 程式結束。如查詢操作,客戶機上的應用程式在向伺服器發出查詢操作的指令後,將 一直等待伺服器將查詢結果返回客戶機端,然後才繼續進行下一步操作。眾所周知,應用程式要從乙個大表中刪除所有的記錄將是非常耗時的,如果應用...

同步與非同步

同步與非同步 所謂同步就是乙個任務的完成需要依賴另外乙個任務時,只有等待被依賴的任務完成後,依賴的任務才能算完成,這是一種可靠的任務序列。要麼成功都成功,失敗都失敗,兩個任務的狀態可以保持一致。而非同步是不需要等待被依賴的任務完成,只是通知被依賴的任務要完成什麼工作,依賴的任務也立即執行,只要自己完...

同步與非同步

1.所謂同步,可以理解為在執行完乙個函式或方法之後,一直等待系統返回值或訊息,這時程式是出於阻塞的,只有接收到返回的值或訊息後才往下執行其他的命令。非同步,執行完函式或方法後,不必阻塞性地等待返回值或訊息,只需要向系統委託乙個非同步過程,那麼當系統接收到返回值或訊息時,系統會自動觸發委託的非同步過程...