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
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM