- 博客(93)
- 收藏
- 关注
原创 Promise.all和Promise.race的区别和使用
Promise.race是赛跑的意思,也就是说Promise.race([p1, p2, p3])里面的结果哪个获取的快,就返回哪个结果,不管结果本身是成功还是失败。有时我们比如说有好几个服务器的好几个接口都提供同样的服务,我们不知道哪个接口更快,就可以使用Promise.race,哪个接口的数据先回来我们就用哪个接口的数据。值得注意的是,返回的数组结果顺序不会改变,即使P2的返回要比P1的返回快,顺序依然是P1,P2。如果遇到错误的情况,那么将不会继续执行下去,直接返回catch方法。
2023-04-17 19:41:24
632
1
原创 谈谈你对promise的理解?
Promise是ES6异步编程的一种解决方案(目前最先进的解决方案是async和await的搭配(ES8),但是它们是基于promise的),从语法上讲,Promise是一个对象或者说是构造函数,用来封装异步操作并可以获取其成功或失败的结果。1.promise其实就是一个对象或者说是构造函数2.promise的出现(es6) 就是解决异步编程和回调地狱等问题,async和await的出现(ES8)就是基于promise的一种解决异步编程的终极解决方案(简化代码等等)
2023-04-17 19:29:58
652
原创 <script> 标签上的 defer 和 async 属性是什么?
此流程提供了糟糕的用户体验,假如脚本下载时间过长,用户将无法与页面交互。在看到整个页面被解析之前,他们必须等待所有脚本被下载并完全执行。注意:没有 src 属性的脚本(即不是内联脚本),async 和 defer 属性会被忽略。下载 async 脚本后,浏览器将暂停文档解析器,执行脚本并继续解析文档。只有当解析器完成其工作时,才会执行 defer 脚本。4.执行结束后,继续解析 HTML 文档。注意:这个过程文档是不会停止解析的。3.在脚本完全下载后立即执行脚本。2.创建新请求以下载脚本。
2023-04-12 21:00:43
602
原创 IntersectionObserver的使用
IntersectionObserverAPI,可以自动"观察"元素是否可见,由于可见(visible)的本质是,目标元素与视口产生一个交叉区,所以这个 API叫做"交叉观察器"。它的用法比较简单就是我们先用new实例化一下IntersectionObserver是浏览器原生提供的构造函数, 接受两个参数:cb是可见性变化时提供的回调函数,ops是配置对象。// 开始观察 io . observe(获取的dom) // 停止观察 io . unobserve(获取的dom)
2023-04-12 18:20:55
909
原创 Vue3引入element-ui报错:Uncaught TypeError: Cannot read property ‘prototype‘ of undefined
Vue3引入element-ui报错:Uncaught TypeError: Cannot read property ‘prototype‘ of undefined
2023-03-14 10:54:08
764
原创 umi如何利用postcss-px-to-viewport做移动端布局?
umi如何利用postcss-px-to-viewport做移动端布局?
2023-02-28 14:13:05
718
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人