js 原生构造函数

# js 原生构造函数

# 文件上传 FileReader

// 当选择文件后,使用FileReader API读取文件,返回数据
let reader = new FileReader()

reader.onload = (ev) => {
  try {
    const result = JSON.parse(ev.target.result)
    console.log(result)
  } catch (e) {
    console.log(e)
  }
}

// onloadstart:读取文件开始时触发
// onprogress:读取过程中触发,会返还本次读取文件的最大字节数和已经读取完毕的字节数,可以用来做进度条
// onabort:在读取中断时触发
// onerror:在读取文件失败时触发
// onload:在读取完成时触发
// onloadend:读取结束后触发,不论成功还是失败都会触发,触发时机在onload之后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 解析dom DOMParser

将存储在字符串中的 XML 或 HTML 源代码解析为一个 DOM

new DOMParser().parseFromString(str,'text/html')
1

# 中断请求 AbortController

表示一个控制器对象,允许你根据需要中止一个或多个 Web 请求。

const controller = new AbortController();
const signal = controller.signal
// 终止请求
controller.abort()

function fetchVideo() {
  const controller = new AbortController();
  const signal = controller.signal
  fetch(url, {signal})
    .then(response => {
      console.log(response)
    })
    .catch(err => {
      console.error(err)
    })
}
// 注意: 当 abort() 被调用时,这个 fetch() promise 将 reject 一个名为 AbortError 的 DOMException。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# controller 实例属性 signal

signal 返回一个 AbortSignal 实例对象,该对象可以根据需要处理 DOM 请求通信,既可以建立通信,也可以终止通信.

# controller 实例方法 abort

abort() 方法会在 DOM 请求完成之前中止它。它能够中止 fetch 请求、各种响应主体或者流的消耗。

# 静态方法 AbortSignal.timeout

指定时间后将自动中止的 AbortSignal

try {
  const res = await fetch(url, { signal: AbortSignal.timeout(5000) })
}catch(){
}
1
2
3
4

# MutationObserver

提供了监视对 DOM 树所做更改的能力

最后更新时间: 2023/2/25 10:03:46