promise解决微信小程序中的request回调地狱

时间:2019-06-06 18:50:39   收藏:0   阅读:248

 

 

//使用
request(url,methods ,data).then(res => {
    //服务器返回数据
    console.log(res );
}).catch(res => {
      //报错
    console.log(res);
}).finally(()=>{
      //完成
     console.log("结束");
})

 

 


 

//封装request方法
const request = (url, method, data) => {
    var promise = new Promise((resolve, reject) => {
        //提示一下
        wx.showLoading({
          title: ‘加载中‘
        })
        //网络请求
        wx.request({
            url: url,
            data: data,
            method: method,
            header: {
            },
            success: function (res) {
                wx.hideLoading()
                //服务器返回数据
                if (res.statusCode == 200) {
                    resolve(res);
                } else {
                    //返回错误提示信息
                    reject(res.data);
                }
            },
            fail: function (e) {
                wx.hideLoading()
                wx.showToast({
                  title: ‘无法连接服务器‘,
                  icon: ‘loading‘,
                  duration: 1000
                })
                reject(‘网络出错‘);
            }
        })
    });
    return promise;
}
module.exports = {
    request:request
}
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!