• 小程序自定义promise封装request请求


       我是封装在uilts文件夹下,尽量减少文件数量;

    /**
    * 自定义post函数,返回Promise
    * +-------------------
    * author: 李先生<17638198892@163.com>
    * +-------------------
    * @param {String} url 接口网址
    * @param {arrayObject} data 要传的数组对象 例如: {name: '李先森', age: 24}
    * +-------------------
    * @return {Promise} promise 返回promise供后续操作
    */
    function reqHttps(reqUrl, reqData, reqType){
    var promise = new Promise((resolve, reject) => {
    //init
    var that = this;
    /*
    //自动添加签名字段到postData,makeSign(obj)是一个自定义的生成签名字符串的函数
    postData.signature = that.makeSign(postData);
    */
    //网络请求
    wx.request({
    url: reqUrl,
    data: reqData,
    method: reqType,
    header: {
    'content-type': 'application/json',
    'X-Bmob-Application-Id': 'd4541dd59bbc2dbd626201672d5c69ca',
    'X-Bmob-REST-API-Key': '80c7719eefed932aacb29bd5dbda4925'
    },
    success: function (res) {//服务器返回数据
    if (res.statusCode == 200) {//res.data 为 后台返回数据,格式为{"data":{...}, "info":"成功", "status":1}, 后台规定:如果status为1,既是正确结果。可以根据自己业务逻辑来设定判断条件
    resolve(res.data.results);
    } else {//返回错误提示信息
    reject(res);
    }
    },
    error: function (e) {
    reject('网络出错');
    }
    })
    });
    return promise;
    }



    const formatTime = date => {
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minute = date.getMinutes()
    const second = date.getSeconds()

    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
    }

    const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
    }

    module.exports = {
    formatTime: formatTime,
    reqHttps: reqHttps
    }
     
     
    在调用页面引入  uilts 
      index.js
    var myHttps = require('../../utils/util.js');
    myHttps.reqHttps('https://api2.bmob.cn','','GET').then((res) => {
    console.log('封装后的数据',res)
    }).catch((errMsg)=>{
    console.log(errMsg)
    })
     
     
    完成!
     
  • 相关阅读:
    为什么我们不能坚持到底?
    追从本心,笑斩荆棘
    走出浮躁的泥沼:关于技术与工作
    走出浮躁的泥沼:仅专注就能胜过大部分人
    学不进去?可以试着这么做……
    走出浮躁的泥沼:浮躁的社会原因
    spring-quartz.xml
    1 web.xml配置详解
    多线程学习二
    多线程学习
  • 原文地址:https://www.cnblogs.com/lipuqing180906/p/9711475.html
Copyright © 2020-2023  润新知