【interview】2020.07.24 谷歌不兼容的 setImmediate、如何通过路由找到路由组件的、思考 axios 分析 Promise 封装 ajax

一、谷歌不兼容的 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

猜你喜欢

转载自www.cnblogs.com/tianxiaxuange/p/13374804.html
今日推荐