微信小程序网络组件 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
- Promise API
- 缓存控制
Install
推荐使用 npm 安装
npm install weapp.request -S
Quick Start
引入 weapp.request
const request = require('weapp.request')
-
发送一个 GET 请求
request('https://api.github.com').then(onFulfilled).catch(onRejected)
因为所有的
request
调用都会返回一个Promise
,所以可以使用then
对请求结果进行进一步处理,用catch
来捕获内部抛出的错误。 -
发送一个 GET 请求,并写入缓存
request('https://api.github.com', {}, { cache: true })
-
发送一个 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' } })
-
全局配置
配置选项 类型 说明 必填 默认值 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
。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 「小程序JAVA实战」小程序开源搜索组件(52)
- 简单-定义一个小程序组件
- 「小程序JAVA实战」小程序视频组件与api介绍(50)
- 微信小程序倒计时组件
- 小程序档案馆——自定义组件
- 小程序 - 验证码倒计时组件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax设计模式
Michael Mahemoff / 杨仁和 / 电子工业出版社 / 2007-5 / 78.00元
★本书荣获LinuxWorld Linux Journal2006年Editors' Choice awards。 ★绝好的一本ajax 高级读物,建议 每个web 程序员都需要买一本,了解什么是真正的好的web设计--网友 [精彩试读一] [精彩试读二] 本书是一本关于复杂Ajax应用的整体架构设计......一起来看看 《Ajax设计模式》 这本书的介绍吧!