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

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

内容简介:地址: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 可以是 get , post 等等。

request.config(options)

options :配置项,类型为 Object 。


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

查看所有标签

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

Rework

Rework

Jason Fried、David Heinemeier Hansson / Crown Business / 2010-3-9 / USD 22.00

"Jason Fried and David Hansson follow their own advice in REWORK, laying bare the surprising philosophies at the core of 37signals' success and inspiring us to put them into practice. There's no jarg......一起来看看 《Rework》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换