Skip to content

取消请求

axios 的 CancelToken 两种使用方式

js
// 方式一
const CancelToken = axios.CancelToken
const source = CancelToken.source()

axios.get('xxxx', {
  cancelToken: source.token
})
// 取消请求 (请求原因是可选的)
source.cancel('主动取消请求')

// 方式二
const CancelToken = axios.CancelToken
let cancel

axios.get('xxxx', {
  cancelToken: new CancelToken(function executor(c) {
    cancel = c
  })
})
cancel('主动取消请求')

fetch 使用 AbortController

js
const controller = new AbortController()
const signal = controller.signal
fetch('https://somewhere', { signal })
controller.abort()

xhr 使用 xhr.abort()

js
const xhr = new XMLHttpRequest(),
const method = 'GET',
const url = 'https://developer.mozilla.org/'
xhr.open(method, url, true)

xhr.send()

// 取消发送请求
xhr.abort()