0.1.0 • Published 4 years ago

@laomao800/ajax-spy v0.1.0

Weekly downloads
1
License
ISC
Repository
-
Last release
4 years ago

ajax-spy

Usage

import ajaxSpy from '@laomao800/ajax-spy'

function sendLog(log = {}) {
  try {
    log.endtime = +new Date()
    log.timecost = log.endtime - log.starttime
  } catch (e) {}

  console.log(log)
}

ajaxSpy({
  onreadystatechange(xhr, args) {
    if (!xhr || xhr.readyState !== 4) {
      return
    }
    sendLog(xhr.__log)
  },
  onload(xhr, args) {
    sendLog(xhr.__log)
  },
  open(xhr, args) {
    // https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/open
    const [method, url, async] = args
    xhr.__log = {
      id: Math.random(),
      method,
      url,
      async
    }
  },
  send(xhr, args) {
    const [payload] = args
    xhr.__log.starttime = +new Date()
    xhr.__log.payload = payload
  }
})
0.1.0

4 years ago