微信小程序 封裝http請(qǐng)求實(shí)例詳解
微信小程序 封裝http請(qǐng)求
最近看了一下微信小程序,大致翻了一下,發(fā)現(xiàn)跟angular很相似的,但是比angular簡單的很多具體可參考官方文檔
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html?t=2017112
下面將封裝http請(qǐng)求服務(wù)部分的服務(wù)以及引用部分
// 本服務(wù)用于封裝請(qǐng)求 // 返回的是一個(gè)promisepromise var sendRrquest = function (url, method, data, header) { var promise = new Promise(function (resolve, reject) { wx.request({ url: url, data: data, method: method, header: header, success: resolve, fail: reject }) }); return promise; }; module.exports.sendRrquest = sendRrquest
在utils文件中創(chuàng)建文件requestService.js文件
下邊是在page.js文件中引用部分代碼
// 界面一般通過使用Page函數(shù)注冊(cè)一個(gè)界面,接收一個(gè)Object對(duì)象,該對(duì)象指定了初始化數(shù)據(jù)/生命周期函數(shù)函數(shù)/事件處理函數(shù) // data 存放頁面初始化數(shù)據(jù)數(shù)據(jù),類似angular的的$scope // onLoad 生命周期函數(shù) 監(jiān)聽頁面加載 // onReady 生命周期函數(shù) 監(jiān)聽頁面首次渲染完成完成 // onShow 生命周期函數(shù) 監(jiān)聽界面顯示 // onHide 生命周期函數(shù) 監(jiān)聽界面隱藏 // onUnload 生命周期函數(shù) 監(jiān)聽頁面卸載 // onPullDownRefresh 頁面相關(guān)事件 監(jiān)聽用戶下拉事件 // onReachBottom 頁面上拉到達(dá)底部觸發(fā)的事件 // onShareAppmessage 點(diǎn)擊左上方分享事件 var testService = require('../../utils/testService.js') var request = require('../../utils/requestService.js') Page({ data:{ test:'123', positionlist:[] }, onLoad:function(){ }, onReady: function () { var that = this; testService.test('a'); testService.agerntest('a'); var url = 'https://webapi.tianjihr.com/position/searcher?sort=-refresh_time&offset=10&limit=10'; request.sendRrquest(url, 'GET', {}, {}) .then(function (response) { that.setData({ positionlist:response.data.list }); console.log(response); }, function (error) { console.log(error); }); }, onPullDownRefresh: function () { }, onShareAppMessage: function () { // 微信分享需要的配置參數(shù) return { title: '自定義分享標(biāo)題', desc: '自定義分享描述', path: '/page/user?id=123' } // console.log(1); } });
上邊的代碼和js代碼有不同的代碼需要注意
1.異步處理方式改變
原有方式是:
var promise = new Promise(); promise.resolve('成功'); promise.reject('失敗'); return promise;
現(xiàn)有的方式:
return new Promise(function (resolve, reject) { resolve('成功'); reject('失敗'); })
2.在promise成功或者失敗的回調(diào)中不能直接賦值,如:
var that = this; test() .then(function(){ that.data.test=''; },function(){ })
需要使用如下方式:
var that = this; test() .then(function(){ that.setDatat={ test:123 }; },function(){ })
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 微信小程序設(shè)置http請(qǐng)求的步驟詳解
- 微信小程序 http請(qǐng)求封裝詳解及實(shí)例代碼
- 微信小程序 http請(qǐng)求的session管理
- 微信小程序 http請(qǐng)求詳細(xì)介紹
- 微信小程序HTTP接口請(qǐng)求封裝的實(shí)現(xiàn)
- 微信小程序封裝的HTTP請(qǐng)求示例【附升級(jí)版】
- 監(jiān)控微信小程序中的慢HTTP請(qǐng)求過程詳解
- Fundebug支持監(jiān)控微信小程序HTTP請(qǐng)求錯(cuò)誤的方法
- 微信小程序HTTP接口請(qǐng)求封裝代碼實(shí)例
- 微信小程序HTTP請(qǐng)求從0到1封裝
相關(guān)文章
微信小程序 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)實(shí)例代碼
這篇文章主要介紹了微信小程序 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10前端項(xiàng)目中監(jiān)聽localStorage的變化
這篇文章主要為大家介紹了前端項(xiàng)目中監(jiān)聽localStorage的變化的解決思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06微信小程序 圖片加載(本地,網(wǎng)路)實(shí)例詳解
這篇文章主要介紹了微信小程序 圖片加載(本地,網(wǎng)路)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03微信小程序 五星評(píng)價(jià)功能的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序 五星評(píng)價(jià)功能的實(shí)現(xiàn)的相關(guān)資料,這里附有實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下2017-03-03Openlayer?add?mark及添加hover效果實(shí)例詳解
這篇文章主要為大家介紹了Openlayer?add?mark及添加hover效果實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11