用es6封装微信小程序wx.request()函数


封装原理:(先考虑网络请求中会改变的值,把改变的值作为参数引入)
会改变的值:
1.url   (同一项目url相同,可提前把url放在app.js中作为全局变量使用)
2.data(后台接口的其他参数)

假设后台返回的数据是这样:

{code: "1", message: "操作成功", result: {…}}

code=1时表示操作成功

message表示后台返回的提示信息

result表示返回的要用到的结果


promise对象方法参考阮一峰前辈的es6入门链接:点击打开链接

//封装请求函数
  post: function (url, data) {
    var promise = new Promise((resolve, reject) => {
      var that = this;

      //网络请求
      wx.request({
        url: url,
        data: data,
        method: 'POST',
        header: { 'content-type': 'application/x-www-form-urlencoded' },
        success: function (res) {
          console.log(res.data)
          // res.data为后台返回数据    假设返回数据为 {code: "1", message: "操作成功", uuid: "otfB65TqAdl3mQXf49t20tgZczhA", result: {…}}
          if (res.data.code == 1) {          //code=1时表示操作成功,result为后台返回的结果数据
            resolve(res.data.result);
          } else {                                    //否则返回后台错误提示信息message
            reject(res.data.message);
          }
        },
        fail: function (e) {
          reject('网络出错');
        }
      })
    });
    return promise;
  },

const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
  
  },

  onLoad: function (options) {
    var that=this;

    //要传的数组对象
    var data = {
      controller: 'wxxiaochengxu',
      act: 'person',
      
       }

    //调用 app.js里的 post()方法
    app.post('http://www.yous_url',data).then((success_data) => {
      console.log(success_data);//正确返回结果 即app.js里的res.data.result
      wx.hideLoading();
    }).catch((fail_message) => {
      console.log(fail_message);//错误提示信息 即app.js里的res.data.message
      wx.hideLoading();
    });
  
  },
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值