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

 

 

//使用
request(url,methods ,data).then(res => {
    //服务器返回数据
    console.log(res );
  return
request(url,methods ,data)
}).then(res => {
  //这里面的res是第二次拿到的数据
  console.log(res)
})

 

 


 

//封装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
}
posted @ 2019-06-06 17:47  Ralapgao  阅读(2620)  评论(0编辑  收藏  举报