作者:JetTsang
前言
现在面试过程当中 ,手写题必然是少不了的,其中碰到比较多的无非就是当属 请求并发控制 了。现在基本上前端项目都是通过 axios 来实现异步请求的封装,因此这其实是考你对 Promise 以及异步编程的理解了。
主要想跟大家分享 6 个实用的 ES6 技巧,希望这 6 个小技巧能够帮助到你。
下面我们开始今天的内容吧。
1.Array.of
关于奇怪的 Array 函数:
众所周知,我们可以通过 Array 函数来做以下事情。
初始化一个指定长度的数组。
设置数组的初始值。
// 1. Initialize an array of the specified length
const array1 = Array(3); // [ , , ]
// 2. Set the initial value of the array
const array2 = Array(); // []
const array3 = Array(undefined); // [ undefined ]
const array4 = Array(1, 2, 3); // [ 1, 2, 3 ]
loading 的展示和取消可以说是每个前端对接口的时候都要关心的一个问题。这篇文章将要帮你解决的就是如何结合 axios 更加简洁的处理 loading 展示与取消的逻辑。
首先在我们平时处理业务的时候 loading 一般分为三种:按钮 loading,局部 loading,还有全局 loading。
按钮 loading
1.Title 标签
<title>页面标签</title>
<title/>
标签可以说是最主要、最重要的 SEOn 优化的元素。它将直接显示在搜索引擎的接口页里面,社交媒体分享,浏览器的标签页都将直接使用这个标题。
video 鼠标移动预览
B 站图片接口 https://api.bilibili.com/x/player/videoshot?aid=14326240
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"pvdata": "//i0.hdslb.com/bfs/videoshot/23378913.bin",
"img_x_len": 10,
"img_y_len": 10,
"img_x_size": 160,
"img_y_size": 90,
"image": [
"//i0.hdslb.com/bfs/videoshot/23378913.jpg",
"//i0.hdslb.com/bfs/videoshot/23378913-1.jpg",
"//i0.hdslb.com/bfs/videoshot/23378913-2.jpg"
],
"index": []
}
}
0、前言
关于promise、async/await
的使用相信很多小伙伴都比较熟悉了,但是提到事件循环机制输出结果类似的题目,你敢说都会?
试一试?
🌰1:
async function async1 () {
await new Promise((resolve, reject) => {
resolve()
})
console.log('A')
}
async1()
new Promise((resolve) => {
console.log('B')
resolve()
}).then(() => {
console.log('C')
}).then(() => {
console.log('D')
})
// 最终结果👉: B A C D
一、Ajax 是什么?
AJAX
全称(Async Javascript and XML)
即异步的 JavaScript
和 XML
,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页
Ajax
的原理简单来说通过XmlHttpRequest
对象来向服务器发异步请求,从服务器获得数据,然后用 JavaScript 来操作 DOM 而更新页面
一、三次握手
三次握手(Three-way Handshake)其实就是指建立一个 TCP 连接时,需要客户端和服务器总共发送 3 个包
主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备
过程如下:
- 第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN(c),此时客户端处于 SYN_SENT 状态
- 第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,为了确认客户端的 SYN,将客户端的 ISN+1 作为 ACK 的值,此时服务器处于 SYN_RCVD 的状态
- 第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,值为服务器的 ISN+1。此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接
一、简单分析
简单的分析,从输入 URL
到回车后发生的行为如下:
- URL 解析
- DNS 查询
- TCP 连接
- HTTP 请求
- 响应请求
- 渲染页面
二、详细分析
URL 解析
首先判断你输入的是一个合法的 URL
还是一个待搜索的关键词,并且根据你输入的内容进行对应操作
URL
的解析第过程中的第一步,一个URL
的结构解析如下: