温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

微信小程序的wx.request与Promise结合使用的案例

发布时间:2021-03-11 15:26:09 来源:亿速云 阅读:297 作者:小新 栏目:移动开发

小编给大家分享一下微信小程序的wx.request与Promise结合使用的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在使用Promise,我的多次异步代码通常是这样的.

ajax(url, function (res){     ajax(res.url, function(res) {         ajax(res.url, function(res) {            if (res.status == '1') {                 ajax(res.url, function(res) {                 ...                 }             }            else if (res.status == '2') {                 ajax(url2, function(res) {                 ...             }             ...         }     } } );

这种流程是很耗费心力并且脆弱的,体验很糟糕,因此,在这次小程序的开发中为了更好的体验,我开始使用了Promise.

代码如下,这样一来,当我们第二个请求需要第一个参数判断时,可以不再陷入回调地狱,

// 小程序与后端情求接口     let baseUrlPromise = 'https://xxx.com';    // 定义方法返回Promise参数,obj 为wx.request 方法中所需参数     let req = function (obj) {      return new Promise(function (resolve, reject) {         wx.request({           url: baseUrlPromise + obj.url,           data: obj.data,           header: obj.header,           method: obj.method == undefined ? "get" : obj.method,           success: function (data) {            // 回调成功执行resolve            resolve(data)           },           fail: function (data) {            // 回调失败时             if (typeof reject == 'function') {               reject(data);             } else {               console.log(data);             }           },         })       })     }    // 执行req 方法,传入第一个请求,     let req1 = req({       url: '第一次请求链接,与baseUrlPromise 相结合',       data: {},     })    // 当需要多次请求时加入     req1.then(function (data) {       console.log('promiseThen1')       console.log(data);      return req({         url: '第二次请求链接',       })     }).then(function (data) {       console.log('promiseThen3')       console.log(data);      return req({         url:'第三次请求链接'       })    }).then(......).catch(function(data){       console.log(PromiseCatch)    })

以上是“微信小程序的wx.request与Promise结合使用的案例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI