1.什么是單線程,和異步的關(guān)系
- 單線程就是同時(shí)只做一件事春宣,兩段 JS 不能同時(shí)執(zhí)行
- 原因就是為了避免 DOM 渲染的沖突
- 異步是一種“無(wú)奈”的解決方案,雖然有很多問(wèn)題
2. 什么是 event-loop
- 事件輪詢,JS 實(shí)現(xiàn)異步的具體解決方案
- 同步代碼玩徊,直接執(zhí)行
- 異步函數(shù)先放在 異步隊(duì)列 中
- 待同步函數(shù)執(zhí)行完畢的榛,輪詢執(zhí)行 異步隊(duì)列 的函數(shù)
3.是否用過(guò) jQuery 的 Deferred
- 可以 jQuery 1.5 對(duì) ajax 的改變舉例
- 說(shuō)明如何簡(jiǎn)單的封裝琼了、使用 Deferred
- 說(shuō)明 promise 和 Deferred 的區(qū)別
4.Promise 的基本使用和原理
- 基本語(yǔ)法回顧
- 異常捕獲
- 多個(gè)串聯(lián)
- Promise.all 和 Promise.race
- Promise 標(biāo)準(zhǔn)
5.介紹一下 async/await
- 基本語(yǔ)法
- 使用了 Promise ,并沒(méi)有和 Promise 沖突
- 完全是同步的寫(xiě)法夫晌,再也沒(méi)有回調(diào)函數(shù)
- 但是:改變不了 JS 單線程雕薪、異步的本質(zhì)