@Dale-Lin
2022-08-29T12:46:22.000000Z
字数 609
阅读 576
web_APIs
AbortController 类表示一个可以用来终止请求的控制器。
const controller = new AbortController()
AbortController.signal AbortSignal 对象实例,往往需要传给被控制的请求。AbortController.abort([reason]) fetch 请求,如果指定 reason 字段,会被设置为 AbortError 的异常。fetch 请求在被 abort 时会 reject 一个名为 AbortError 的 DOMException 错误。
try {const controller = new AbortController()const { signal } = controllerconst res = await fetch('someResourceUrl',{ signal })const body = await res.json()setTimeout(() => {controller.abort()}, 1_000)} catch (er) {if (er.name === 'AbortError') {// abortconsole.log('Abort!')} else {// network errorconsole.log(`Type: ${e.name}, Message: ${e.message}`)}}
