微信小程序:promise封装wx.request

有时候用到reques方法,可能大家会绝得在每个页面都一样,而且本身的话微信这边已经封装的很简单了,所以没必要再去多做无用功,不过嘛,闲着也是闲着,就直接做了一个promise去封request的方法

var WxParse = require('../../wxParse/wxParse.js');
Page({

  onLoad: function (options) {
    // http方法,当前为get与post
    let http = {
      post: function (url, data) {
        var postpromise = new Promise(function (postsuccess, postfail) {
          wx.request({
            header: { 'content-type': 'application/x-www-form-urlencoded' },
            url: url,
            data: data,
            method: "POST",
            success: function (sres) {
              postsuccess(sres);
            },
            fail: (fres) => {
              postfail(fres);
            }
          })
        })
        return postpromise;
      },
      get: function (url, data) {
        var postpromise = new Promise(function (getsuccess, getfail) {
          wx.request({
            header: { 'content-type': 'application/x-www-form-urlencoded' },
            url: url,
            data: data,
            method: "GET",
            success: function (sres) {
              getsuccess(sres);
            },
            fail: (fres) => {
              getfail(fres);
            }
          })
        })
        return postpromise;
      },
    }
    let a = { text: "this is a text for the 百度 test" };
    //post请求
    http.post("https://aimianshiguan.com/znzp/open/downYuyin.shtml", a).then((sres) => {
      console.log(sres);
    }).catch((fres) => { console.log(fres); })
    // get请求
    http.get("https://aimianshiguan.com/znzp/open/downYuyin.shtml", a).then((sres) => {
      console.log(sres);
    }).catch((fres) => { console.log(fres); })

  }
})
比较简单,就不多说了,测试使用的接口是百度语音的接口,注意设置下不做域名校验

你可能感兴趣的:(微信小程序,微信小程序)