小程序 请求Promise简单封装

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

1.url 接口地址

2.headers请求头

3. params 请求参数 

4.host 服务端地址

 

POST:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
export function httpGet(url, params, headers) {
  let paramsStr = url;
  let num = 0;
  // 将params对象转换成字符串
  for (let 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来取回调了。

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

猜你喜欢