网络请求: 使用promise对小程序请求进行封装
进行小程序开始时,我们免不了需要向后端发起很多请求,诸如wx.request({})... 之类的代码也会出现很多次,为了优化代码量,减少我们的工作量,我们可以对请求进行封装。
此处,我们主要使用promise进行封装,主要考虑到:
- promise相较于普通的请求,可以避免代码嵌套的问题
- promise可以捕获请求中的异常,方便我们debug
一、首先我们先创建一个js文件,命名为util.js (utils/util.js)
二、在util.js中创建封装的request方法如下:
1 const baseURL = '' //请求地址,视开发环境而定 2 function request(url, data = {}, method = "POST"){ 3 return new Promise(function(resolve, reject) { 4 wx.request({ 5 url: `${baseURL}`+url, 6 data: data, 7 method: method, 8 header: { 9 'Content-type': 'application/json', 10 }, 11 success: function(res) { 12 if(res.code == 200){ 13 resolve(res.data) 14 }else{ 15 reject(err) 16 } 17 }, 18 fail: function(err){ 19 20 } 21 }) 22 }) 23 }
三、在需要的页面进行引用
const util = require('../../utils/util.js');
四、进行调用
1 getCatalog: function () { 2 let that = this; 3 let data = {...} 4 // url为接口地址,请求方式为GET,如果为POST可以不写 5 util.request('url',data,'GET').then(function (res) { 6 that.setData({ 7 data: res.data.data 8 }); 9 }); 10 },

浙公网安备 33010602011771号