使用Promise对象进行wx.request二次封装

因为小程序内使用wx.request的频率太高,作为一名强迫症患者晚期,十分受不了多处重复堆叠代码,一是为了代码轻便,二是为了美观,所以我们对常用函数进行封装,而wx.request是常用中的常用函数,以下演示对get及post方法进行简单封装。

需要使用promise方法,Promise 对象代表一个异步操作,有三种状态:

pending: 初始状态,不是成功或失败状态。

fulfilled: 意味着操作成功完成。

rejected: 意味着操作失败。

点到即止,不懂直接百度,以下直接上dome

GET封装:

common.js

var get = function (url) {
    var promise = new Promise((resolve, reject) => {
        var that = this;
        wx.request({
         url: url,
         success: function (res) {
                  resolve(res);
         },
         error: function (e) {
                  reject('网络出错');
         }
        })
    });
return promise;
}

index.js

var common = require('../../utils/common.js');
get(){
    common.get('https://www.zhai78.com').then((res) => {
     console.log(res);
    })
}

post封装

common.js

var post=function(url, data) {
     var promise = new Promise((resolve, reject) => {
         var that = this;
         var postData = data;
           wx.request({
              url: url,
              data: postData,
              method: 'POST',
              success: function (res) {
              resolve(res);
              },
              error: function (e) {
              reject('网络出错');
              }
           })
         });
 return promise;
}

index.js

 var common = require('../../utils/common.js');
 post(){
      var data= {
      key1: "参数1",
      key2: "参数2"
      };
     common.post('https://www.zhai78.com', data).then((res) => {
       console.log(res);
    })
},

原文发布于微信公众号 - 宅机吧(zhai-78)

原文发表时间:2019-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券