@void-request/core
TypeScript icon, indicating that this package has built-in type declarations

0.0.1-beta.2 • Public • Published

void-request

为网络请求提供简单的请求/响应拦截器包装

适配器

名词解释

将一个普通的网路请求包装为 void-request 可以处理的请求

定义一个适配器

简易适配器

import { defineVoidRequestAdapter } from '@void-request/core'

const adapter = defineVoidRequestAdapter((config) => {
  return new Promise((resolve, reject) => {
    fetch({
      url: new URL(config.url || '', config.baseURL).toString(),
      method: config.method,
      body: JSON.stringify(config.data),
      headers: config.headers,
    })
      .then((res) => res.json())
      .then((res) =>
        resolve({
          data: res.data,
          status: 200,
          statusText: `200`,
          headers: {},
          config,
        })
      )
      .catch(reject)
  })
})

使用适配器创建 void-request

const voidRequest = defineVoidRequest(adapter)
const { request, requestGet, requestPut, requestDelete, requestPost, onRequestBefore, onResponse } =
  voidRequest()

onRequestBefore((config) => {
  config.data.b = '2'
  return config
})

onResponse((response) => {
  return { ...response, data: {} }
})

request({ data: { a: 1 } })

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @void-request/core

Weekly Downloads

0

Version

0.0.1-beta.2

License

MIT

Unpacked Size

16.5 kB

Total Files

6

Last publish

Collaborators

  • whitekite