微信小程序的wx.request与Promise的结合运用
发表时间:2025-08-24 来源:浏览器大全整理相关软件相关文章人气:
微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造 [2] 。微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、图片和文字,同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件“摇一摇”、“漂流瓶”、“朋友圈”、”公众平台“、”语音记事本“等服务插件。
这次给大家带来微信小程序的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)
})
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Vue指令的使用
JS闭包的使用
以上就是微信小程序的wx.request与Promise的结合使用的详细内容,更多请关注php中文网其它相关文章!
微信提供公众平台、朋友圈、消息推送等功能,用户可以通过“摇一摇”、“搜索号码”、“附近的人”、扫二维码方式添加好友和关注公众平台,同时微信将内容分享给好友以及将用户看到的精彩内容分享到微信朋友圈。