网络请求: 使用promise对小程序请求进行封装

进行小程序开始时,我们免不了需要向后端发起很多请求,诸如wx.request({})... 之类的代码也会出现很多次,为了优化代码量,减少我们的工作量,我们可以对请求进行封装。

此处,我们主要使用promise进行封装,主要考虑到:

  1. promise相较于普通的请求,可以避免代码嵌套的问题
  2. 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 },  

 

 
posted @ 2020-11-04 15:06  果汁来一杯  阅读(233)  评论(0)    收藏  举报