1. 微信小程序 wx.request方法的异步封装实例详解
wx-promise-request 是对微信小程序 wx.request 方法的异步封装。
解决问题:
支持Promise(es6-promise)。管理请求队列,解决 request 最大并发数超过 10 会报错的问题。
下载:npm
install
wx-promise-request
然后拷贝 dist/index.js 文件到你的小程序项目中。
1 import {request} from ‘./wx-promise-request‘; 2 request({ 3 url: ‘test.php‘, 4 data: { 5 x: ‘‘, 6 y: ‘‘, 7 }, 8 header: { 9 ‘content-type‘: ‘application/json‘, 10 }, 11 }) 12 .then(res => console.log(res)) 13 .catch(error => console.error(error))
API
setConfig(object)
通过 setConfig 配置 wx-promise-request,如:使用 qcloud 提供的 request 方法;使用其他 Promise 库等等。
1 import {request, setConfig} from ‘./wx-promise-request‘; 2 import qcloud from ‘./vendor/qcloud-weapp-client-sdk/index‘; 3 import Promise from ‘bluebird‘; 4 5 setConfig({ 6 request: qcloud.request, 7 Promise, 8 }) 9 request({ 10 url: ‘test.php‘, 11 }) 12 .then(res => console.log(res)) 13 .catch(error => console.log(error));
2. 页面跳转(传参)
<view class="btn-area"> <navigator url="../navigator/navigator?title=我是navigate" >跳转到新页面</navigator> <navigator url="../redirect/redirect?title=我是redirect" redirect>在当前页打开</navigator> </view></span>
index.wxml中的URL就是跳转的页面路径.上面代码中就是navigator目录下的navigator页面,title是参数.
navigator下redirect属性是值在当前页打开.如果不加redirect就是跳转到新页面.都可以携带参数.
1 获取参数: 2 Page({ 3 onLoad: function(options) { 4 this.setData({ 5 title: options.title 6 }) 7 } 8 })