欢迎光临,了解各类小程序、网站开发,就上众彬建站! 退出 注册 登录

小程序 请求Promise简单封装

发布:2022-03-15 17: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来取回调了。

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


 
 
 





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。