前言
上周5在公司作了關(guān)于JS異步編程模型的技術(shù)分享,可能是內(nèi)容太干的緣故吧,最后從大家的表情看出“這條粉腸到底在說啥?”的結(jié)果:(下面是PPT的講義,具體的PPT和示例代碼在https://github.com/fsjohnhuang/ppt/tree/master/apm_of_js上,有興趣就上去看看吧!
重申主題
《異步編程模型》這個名稱確實不太直觀,其實今天我想和大家分享的就是上面的代碼是如何演進(jìn)成下面的代碼而已。
a(function(){
b(function(){
c(function(){
d()
})
})
})
TO
;(async function(){ await a() await b() await c() await d()
}())
寫在前面
我們知道JavaScript是單線程運(yùn)行的(撇開Web Worker),并且JavaScript線程執(zhí)行時瀏覽器GUI渲染線程無法搶占CPU時間片,因此假如我們通過以下代碼實現(xiàn)60秒后執(zhí)行某項操作
const deadline = Date.now() + 60000 while(deadline > Date