小程序 请求Promise简单封装


帮企商城 2021-09-17 13:54:07

图怪兽_d3aa2e67b3d3ba7552b44632877894b2_86270.jpg

最近做小程序在调用后台接口的时候感觉总写很长一串,很冗杂。非常想念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来取回调了。

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


相关阅读:

春哥团队获得1000万元投资将用于开发各种商业源码系统

春哥技术团队在京发布春哥数字人系统CGDigitalPersonSystem

春哥团队8周年:帮助更多的人实现在家创业赚钱

帮企商城国庆狂欢盛宴 放“价”到底!

脱单盲盒项目,日入过万不是梦!2021年最大风口项目!

如何给我们春哥团队付款?

微信小程序日常开发中常遇到的错误代码

小程序前端直传阿里云oss

微信小程序之image组件

解决微信小程序switchTab不能带参方法