微信小程序网络组件 weapp.request

栏目: JavaScript · 发布时间: 5年前

内容简介:地址:weapp.request 是基于 wx.request 进行扩展的一个网络组件,相较于 wx.request 有更简单的调用方式。此组件目前主要提供两个功能,分别的 Promise 以及缓存控制,使用 Promise 之后能让原先 wx.request 的调用变得更加简洁,避免了回调函数,对于服务器返回的数据可以根据项目需要在本地进行缓存。

地址: https://github.com/afishhhhh/weapp.request

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. 全局配置

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

APIs

request(url, params, options)

发起一个 GET 请求。

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

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

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

request.method(url, params, options)

method 可以是 getpost 等等。

request.config(options)

options :配置项,类型为 Object


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引力

引力

保罗·X.麦卡锡 / 王正林 / 中信出版社 / 2018-3-1 / CNY 59.00

作者在书中提出一个全新的概念“网络引力”。我们全都受网络引力的影响,这种强大的力量正推动着数字经济前行。网络引力催生了像行星那样巨大的公司,它们以闪电般的速度击垮竞争对手,并且正在改变着商业、工作和娱乐休闲的面貌。作者在向读者展示这种令人震惊的现象的同时,还介绍了一系列独特的规则及其巨大力量,我们可以充分利用它们来创造属于自己的成功。这是在日益数字化的世界中为你赢得美好未来的一部理性指南,是一部互......一起来看看 《引力》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具