Jaykey
Jaykey
对于forEach的并行处理,可以用下面这段代码来学习一下: ```js const count = (item) => { return new Promise((resolve) => { if (typeof item === 'number') { setTimeout(() => { console.log(item); resolve(); }, 500); } else { setTimeout(()...
```js const list = [1, 2, 3] const square = num => { return new Promise((resolve, reject) => { setTimeout(() => { resolve(num * num) }, 1000) }) } (async...
小程序中Performance.timing所有的参数  根据时间排序后:  在浏览器中,白屏时间是指输入URL到页面开始展示内容的时间,就是输入URL开始DNS查询的时间点到FP的时间点,FP的时候页面DOM开始绘制。 对应到小程序上就是开始请求的时间到DOM开始加载的时间点: `domLoading - navigationStart` 首屏时间,在浏览器中是从浏览器输入地址并回车后到首屏内容开始渲染的时间对应FCP,页面出现视觉变化。 对应到小程序的话是请求开始的时间到页面渲染然完成的时间。 `domInteractive - navigationStart` --- 上面的理解是最近学习,如有不对的地方欢迎讨论
那就把HTTP0.9一起写了吧: 1. HTTP/0.9 - 只有GET方法 - 使用ASCII字符流传输 2. HTTP/1.0 - 添加请求头和响应头,Accept-* Content-*字段 - 添加HTTP版本号 3. HTTP/1.1 - 默认开启长链接(keep-alive) - 管线化(req1 -> req2 -> req3 === res1 -> res2 -> res3)...
一个for循环搞定 ```js function filter(arr) { let map = {}; let result = []; for (let i = 0; i < arr.length; i++) { console.log(JSON.stringify(arr[i])) if (!map[JSON.stringify(arr[i])]) { map[JSON.stringify(arr[i])] = true;...
补充一个DCL和L的时间顺序 在浏览器打开页面,到页面解析完成的过程: 1. [1] readyState: loading 2. [2] readyState: interactive 3. [2] DOMContentLoaded 4. [3] iframe onload 5. [4] img onload 6. [4] readyState: complete 7. [4] window onload *相同`[x]`的执行几乎是同时的。*...
从FMP和FCP的命名来看,我们也能知道其中的一些差别,FCP更多的是体现“有内容”,FMP侧重的是“内容是有意义的”。
多路复用:实际上是指一个TCP/IP链接提供给多个HTTP链接使用,在1.1的标准中,HTTP还是以文本的方式传输,有响应和应答的方式,这样确保能到达另一端,但这也带了的问题就是需要等待响应。一个socket链接只能给一个HTTP使用,不能把一个完整的文本拆成流来处理,比较优化的方式也是只是根据Content-length来分割,最后让浏览器来拼装。 核心是HTTP1.1是基于文本的传输方式,还是一个一个文件。 而HTTP2.0则是使用流的方式来传输,可以把一个文件分包,根据Id来拼装,做到一个socket链接中传输多个文件的需求。
> ``` > 1、从缓存的角度,GET 请求会被浏览器主动缓存下来,留下历史记录,而 POST 默认不会。 > 2、从编码的角度,GET 只能进行 URL 编码,只能接收 ASCII 字符(encodeURI()编码),而 POST 没有限制。 > 3、从参数的角度,GET 一般放在 URL 中,因此不安全,POST 放在请求体中,更适合传输敏感信息。 > 4、从TCP的角度,GET 请求会把请求报文一次性发出去,而 POST 会分为两个 TCP 数据包, >...
cubic-bezier可以参考这个 https://cubic-bezier.com/#25,.1,.25,1 ease和liner也可以用这个表示,分别是cubic-bezier(.25,.1,.25,1)和cubic-bezier(0,0,1,1)