概述
这次给大家带来微信小程序的wx.request 与Promise的结合使用,微信小程序的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)
})
登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注靠谱客其它相关文章!
推荐阅读:
Vue指令的使用
JS闭包的使用
以上就是微信小程序的wx.request与Promise的结合使用的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是踏实百褶裙为你收集整理的微信小程序的wx.request与Promise的结合使用的全部内容,希望文章能够帮你解决微信小程序的wx.request与Promise的结合使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复