欢迎光临,了解微信小程序开发,就上易用通! QQ登录

小程序 请求Promise简单封装

发布:2021-07-07 08:57浏览:来源:网络 编辑:程小序

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

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





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

在线客服1:
点击这里给我发消息

在线客服2:
点击这里给我发消息

商务客服:
点击这里给我发消息

服务时间:
9:00-18:00(工作日)