小程序使用Promise封装wx.request

小程序使用Promise封装wx.request

  •  2018 年 12 月 10 日
  •  357
  •  小程序 JavaScript 

1. 新建一个http.js文件

在你的项目目录中新建一个http.js文件,当然你也可以随便选择文件名和路径。

2. 定义方法

该方法接收三个参数:url:请求路径。data:请求参数,默认空。method:请求类型,默认GET请求。

const request = (url, data={}, method='GET') => {
    let promise = new Promise((resolve, reject) => {
        //发起请求
        wx.request({
            url: url,
            data: data,
            method: method,
            header: {
                'content-type': 'application/x-www-form-urlencoded'
                // 其它自定义header字段
            },
            success: function(res) {
                if (res.data.code === 200) {
                    resolve({ code: res.data.code, data: res.data.data})
                } else { //返回错误提示信息
                    reject({ code: res.data.code, message: res.data.message })
                }
            },
            error: function(e) {
                reject({ code: 500, message: '请求失败......'})
            }
        })
    });
    return promise;
}

module.exports = {
    request: request
}

3. 调用

引入http.js:

const http = require('../../utils/http.js')

调用方法发起请求:

Page({
    onLoad: function () {
        // 请求路径
        let url = 'your url';
        // 请求参数
        let data = {id: 1}
        http.request(url, data, 'POST').then(res => {
            console.log(res)
        }).catch(err => {
            console.log(err)
        })
    }
})

扫一扫分享到微信

已有 条评论
写评论