博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写一个小程序版的axios
阅读量:6846 次
发布时间:2019-06-26

本文共 1419 字,大约阅读时间需要 4 分钟。

wx-axios-promise

特征

  • 提供和axios相似体验,支持默认参数配置,拦截功能,和create创建新的对象
  • 默认将小程序的api封装成Promise,通过降级,兼容低版本手机系统

使用方法

npm i wx-axios-promise -S

import Abi from 'wx-axios-promise'let api = Abi()复制代码

传递相关配置来创建请求(以下参数为默认)

//详情可参考wx.requestlet api = Abi({    url: '',//默认的接口后缀    method: 'get',//默认的HTTP 请求方法    dataType: 'json',//默认的返回类型    responseType: 'text',    header: {      'content-type': "application/json"    }  })复制代码

除上面的创造方法外,我们还可以用实例上的create的方法创建新实例。

let api = Abi()let newApi = api.create()复制代码

请求操作

/***默认是get*如果你设置了默认的url。会自动配置 默认url + url*如果你的url是http://或者https://开头,那么不会添加默认url*///多种请求方式api(url, data)api(SERVER[api], apiData)api.get(SERVER[api], apiData)api(SERVER.URL + SERVER[api], apiData)api(`${SERVER[api]}?page=${apiData.page}&count=${apiData.count}`)api({   url: SERVER[api],   data: apiData,   
})api.post(url, data)支持'get','post','put','delete','options','head','trace','connect'复制代码

可以架起请求、响应、成功、失败的拦截

api.interceptors.response.use(function (config){  //接口||wx.接口  return config.data || config}, function(error){    return error})api.interceptors.request.use(function (config){  //返回的是和wx.request相关的参数  console.log(config)  wx.showLoading({    title: '加载内容'  })}, function(error){    return error})复制代码

wx全Promise

api.wx.chooseImage().then( res => api.wx.uploadFile()).then()复制代码

当然,如果你并不需要这个功能,你也可以在创建的时候设置第二个参数为false

转载于:https://juejin.im/post/5c933a7a5188252db5634500

你可能感兴趣的文章
Vue风格指南小结
查看>>
RecyclerView嵌套CheckBox滑动错位
查看>>
线性回归,逻辑回归的学习(包含最小二乘法及极大似然函数等)
查看>>
Kafka入门经典教程
查看>>
Basic Of Concurrency(十八: 阻塞队列)
查看>>
如何在react中使用echarts? echarts-for-react
查看>>
Python第三方库
查看>>
Windows 下怎样编程更有逼格
查看>>
前端面试题
查看>>
Node 朴灵
查看>>
PostgreSQL Like查询与正则表达式
查看>>
Robotium 白盒 黑盒测试
查看>>
BCH压力测试取得圆满成功,最大区块达21.3MB
查看>>
VideoToolbox解析
查看>>
Item 10 Always override toString
查看>>
比特币现金对穷人更友善
查看>>
DUBBO服务治理
查看>>
自定义Dialog
查看>>
值类型+引用类型+ref
查看>>
菱形组网之BGP MED、负载分担及GR篇
查看>>