微信小程序 封裝http請求實(shí)例詳解
微信小程序 封裝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ù)用于封裝請求
// 返回的是一個(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ù)注冊一個(gè)界面,接收一個(gè)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 頁面上拉到達(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(){
})
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
微信小程序 使用picker封裝省市區(qū)三級聯(lián)動(dòng)實(shí)例代碼
這篇文章主要介紹了微信小程序 使用picker封裝省市區(qū)三級聯(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
微信小程序 五星評價(jià)功能的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序 五星評價(jià)功能的實(shí)現(xiàn)的相關(guān)資料,這里附有實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下2017-03-03
Openlayer?add?mark及添加hover效果實(shí)例詳解
這篇文章主要為大家介紹了Openlayer?add?mark及添加hover效果實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

