小程序模板网

小程序 请求Promise简单封装

2021-07-07 伐阇罗

最近做小程序在调用后台接口的时候感觉总写很长一串,很冗杂。非常想念vue中promise封装的写法,于是自己初步封装了一下。

1.url 接口地址

2.headers请求头

3. params 请求参数 

4.host 服务端地址

 

POST:

export function httpPost(url, params,params,) {
  let promise = new Promise((resolve, reject) => {
    wx.request({
      url: host + url,
      header: headers ? headers : { "content-type": "application/json" },
      data: params,
      method: "POST",
      success: function(res) {
        resolve(res);
      },
      fail: err => {
        reject(err);
      }
    });
  });
  return promise;
}

 

GET:

export function httpGet(url, params, headers) {
  let paramsStr = url;
  let num = 0;
  // 将params对象转换成字符串
  for (let i in params) {
    if (num < 1) {
      paramsStr += `?${i}=${params[i]}`;
    } else {
      paramsStr += `&${i}=${params[i]}`;
    }
    num++;
  }
  let promise = new Promise((resolve, reject) => {
    wx.request({
      url: host + paramsStr,
      header: headers ? headers : { "content-type": "application/json" },
      method: "GET",
      success: function(res) {
        resolve(res);
      },
      fail: err => {
        reject(err);
      }
    });
  });
  return promise;
}

 

到这儿呢就结束了,就可以愉快的通过then来取回调了。

当然在这里还可以做错误统一处理,我这儿只是简单的做了封装,有兴趣的小伙伴可以进一步封装。


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/27058.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询