導讀微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺... 微信(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中文網其它相關文章! 推薦閱讀: 以上就是微信小程序的wx.request與Promise的結合使用的詳細內容,更多請關注php中文網其它相關文章! 微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。 |
溫馨提示:喜歡本站的話,請收藏一下本站!