微信小程序 封裝http請求實例詳解
微信小程序 封裝http請求
最近看了一下微信小程序,大致翻了一下,發(fā)現(xiàn)跟angular很相似的,但是比angular簡單的很多具體可參考官方文檔
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html?t=2017112
下面將封裝http請求服務(wù)部分的服務(wù)以及引用部分
// 本服務(wù)用于封裝請求
// 返回的是一個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ù)注冊一個界面,接收一個Object對象,該對象指定了初始化數(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 頁面上拉到達底部觸發(fā)的事件
// onShareAppmessage 點擊左上方分享事件
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(){
})
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
小程序開發(fā)踩坑:頁面窗口定位(相對于瀏覽器定位)(推薦)
這篇文章主要介紹了小程序開發(fā)頁面窗口定位,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
JS?中Json字符串+Cookie+localstorage
這篇文章主要介紹了JS?中Json字符串+Cookie+localstorage,Json主要用于前后端交互,是一種數(shù)據(jù)格式,相較于Xml,使用起來更加便捷,下面文章將對他們詳細介紹,需要的朋友可以參考一下2021-12-12

