写了一个简单的微信小程序网络请求组件

地址:github.com/afishhhhh/w…

weapp.request 是基于 wx.request 进行扩展的一个网络组件,相较于 wx.request 有更简单的调用方式。

目前组件主要提供两个功能,分别的 Promise 以及缓存控制,使用 Promise 之后能让原先 wx.request 的调用变得更加简洁,避免了回调函数,对于服务器返回的数据可以根据项目需要在本地进行缓存。

后续会继续做更新,欢迎各位 JS 大佬提出改进意见。

Features

  1. Promise API
  2. 缓存控制

Install

推荐使用 npm 安装
npm install weapp.request -S
复制代码

Quick Start

引入 weapp.request
const request = require('weapp.request')
复制代码
  1. 发送一个 GET 请求

    request('https://api.github.com').then(onFulfilled).catch(onRejected)
    复制代码

    因为所有的 request 调用都会返回一个 Promise,所以可以使用 then 对请求结果进行进一步处理,用 catch 来捕获内部抛出的错误。

  2. 发送一个 GET 请求,并写入缓存

    request('https://api.github.com', {}, {
      cache: true
    })
    复制代码
  3. 发送一个 POST 请求

    request.post('https://api.github.com', {
      user: 'afishhhhh'
    })
    复制代码

    除了 GET 请求以外,所有其他的 method 都要以 request.method 的形式进行调用。

    根据微信官方文档的说明,以上 POST 方法且 Content-Type 默认为 application/json,会对数据进行 JSON 序列化。

    如果需要以 query string 的形式将数据发送给服务器,可以采取以下调用方法,不需要显示的将 Content-Type 写为 application/x-www-form-urlencoded

    request.post('https://api.github.com', {
      form: {
        user: 'afishhhhh'
      }
    })
    复制代码
  4. 全局配置

    配置选项类型说明必填默认值
    baseUrlString/Undefined基础请求路径
    cacheMaxAgeNumber/Undefined缓存有效期,时间单位为秒1800
    validStatusCodeFunction/Undefinedstatus code 合法区间,该函数接受一个参数,并返回一个 Booleancode => code >= 200 && code < 300
    request.config({
      baseUrl: 'https://api.github.com'
    })
    复制代码

APIs

request(url, params, options)

发起一个 GET 请求。

params:请求参数,类型为 Object,非必填。

options:配置项,类型为 Object,非必填,可以有以下属性值:

属性类型必填默认值说明
cacheBoolean/Undefinedundefinedundefined 表示从服务器获取最新数据,不写入缓存;true 表示优先从缓存中获取数据,如果缓存中不存在该数据或者缓存已失效,则从服务器获取数据,并写入缓存;false 表示优先从服务器获取数据,并将数据写入缓存
header同微信官方文档
dataType同微信官方文档
responseType同微信官方文档
request.method(url, params, options)

method 可以是 getpost 等等。

request.config(options)

options:配置项,类型为 Object

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值