美文网首页
4-2、axios函数重载

4-2、axios函数重载

作者: Eileen_1d88 | 来源:发表于2019-12-06 13:17 被阅读0次

因为我们要实现

axios(url, comfig)
axios(comfig)

这2种请求方式,所以我们需要对request方法进行重载。

request(url: string | AxiosRequestConfig, config?: AxiosRequestConfig): AxiosPromise {
    config = config || {}
    if (typeof url === 'string') {
      config.url = url
    } else {
      config = url
    }
    return dispatchRequest(config)
  }

src/types/index.ts

interface AxiosInstance extends Axios {
  (config: AxiosRequestConfig): AxiosPromise
  (url: string, config?: AxiosRequestConfig): AxiosPromise
}
编写demo
axios('/api/extend/post', {
  method: 'post',
  data: {
    msg: 'hi1'
  }
})

axios.request({
  url: '/api/extend/post',
  method: 'post',
  data: {
    msg: 'hello'
  }
})

至此,我们实现了axios函数的重载。另外,官方axios支持一种能力,我们可以去定义返回数据的类型,并在请求的时候制定该类型,然后在响应数据中我们就可以获取到该类型。接下来我们就来实现这个feature。

相关文章

  • 4-2、axios函数重载

    因为我们要实现 这2种请求方式,所以我们需要对request方法进行重载。 src/types/index.ts ...

  • Cocos2dx之C++基础(四)

    函数重载函数不以返回值来区分重载函数函数不以参数名来区分重载函数使用重载函数的时候不要引起二义性结构函数也可以重载...

  • [进阶]C++:函数重载

    定义重载函数 重载函数是函数名相同但是参数列表不同的函数 重载和const形参 const_cast 在重载函数中...

  • 第八章 函数探幽(4)函数重载

    (四)函数重载 (1)函数重载的含义是可以有多个重名的函数,因此需要对函数进行重载。可以通过函数重载来设计一系列同...

  • Vue3源码中的TypeScript重载函数的作用

    TypeScript重载函数的作用案例 C++中的一个概念(百度百科): 函数重载一般指重载函数。 重载函数是函数...

  • C++之函数重载(下)

    重载与指针 函数重载遇上函数指针将重载函数名赋值给函数指针时根据重载规则挑选与函数指针参数列表一致的侯选者严格匹配...

  • 2.C++对C的扩展

    重载(overload) C++中,引用了函数重载的概念,函数名同名,参数列表不同形成重载。重载规则: 函数名相同...

  • operator-()

    负号重载成员函数友元函数负号重载函数三种方式都可

  • C++ - 函数重载

    函数重载:一个或者多个函数,名字相同,然而参数个数或者参数类型不相同,这叫做函数的重载。 举例: 函数重载使得函数...

  • Callback / Callable 类型

    重载函数,和php的伪重载函数 重载函数a. c++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的...

网友评论

      本文标题:4-2、axios函数重载

      本文链接:https://www.haomeiwen.com/subject/xvgsgctx.html