【interview】2020.07.24 谷歌不相容的 setImmediate、如何通過路由找到路由元件的、思考 axios 分析 Promise 封裝 ajax
阿新 • • 發佈:2020-07-24
一、谷歌不相容的window.setImmediate()
在 MDN 上看window.setImmediate() 描述
該方法可能不會被批准成為標準,目前只有最新版本的 Internet Explorer 和Node.js 0.10+實現了該方法。
它遇到了 Gecko(Firefox) 和Webkit (Google/Apple) 的阻力.
- 該特性是非標準的,所以說、請儘量不要在生產環境中使用它!
- 語法:
-
var immediateID = setImmediate(func, [param1, param2, ...]); var immediateID = setImmediate(func);
window.clearImmediate 方法可以用來取消通過 setImmediate 設定的將要執行的語句, 就像 window.clearTimeout 對應於 window.setTimeout一樣.
因為其相容性不好,所以會用 setTimeout(fn, 0) 來代替,常用來: 處理 繁重任務(陣列操作等等)以避免 js 執行阻塞 ui 的更新
二、vue/react 是如何通過路由找到路由元件的?
通過配置 路由
根據訪問的 path 來切換到對應的元件
程式設計時,將元件 (components) 對映到路由 (routes),然後告訴 Vue Router 在哪裡渲染它們
mode: 'hash'
23
3w
3
3
mode: 'history'
會根據 pushState 和 replaceState 操作 瀏覽器的 history 物件
history 的變化 會觸發
1
1
1
1
1
1
1