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

Posted ralapgao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise解决微信小程序中的request回调地狱相关的知识,希望对你有一定的参考价值。

 

 

//使用
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

以上是关于promise解决微信小程序中的request回调地狱的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序闭包

微信小程序音乐播放器,leancloud后端支持,体验小程序数据绑定,Promise较为优雅解决回调

微信小程序request请求库封装

微信小程序request请求库封装

微信小程序api怎么promise化

微信小程序wx.request的回调使用