微信小程序 封裝http請(qǐng)求實(shí)例詳解
微信小程序 封裝http請(qǐng)求
最近看了一下微信小程序,大致翻了一下,發(fā)現(xiàn)跟angular很相似的,但是比angular簡(jiǎn)單的很多具體可參考官方文檔
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文件中引用部分代碼
// 界面一般通過(guò)使用Page函數(shù)注冊(cè)一個(gè)界面,接收一個(gè)Object對(duì)象,該對(duì)象指定了初始化數(shù)據(jù)/生命周期函數(shù)函數(shù)/事件處理函數(shù)
// data 存放頁(yè)面初始化數(shù)據(jù)數(shù)據(jù),類(lèi)似angular的的$scope
// onLoad 生命周期函數(shù) 監(jiān)聽(tīng)頁(yè)面加載
// onReady 生命周期函數(shù) 監(jiān)聽(tīng)頁(yè)面首次渲染完成完成
// onShow 生命周期函數(shù) 監(jiān)聽(tīng)界面顯示
// onHide 生命周期函數(shù) 監(jiān)聽(tīng)界面隱藏
// onUnload 生命周期函數(shù) 監(jiān)聽(tīng)頁(yè)面卸載
// onPullDownRefresh 頁(yè)面相關(guān)事件 監(jiān)聽(tīng)用戶(hù)下拉事件
// onReachBottom 頁(yè)面上拉到達(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)求過(guò)程詳解
- Fundebug支持監(jiān)控微信小程序HTTP請(qǐng)求錯(cuò)誤的方法
- 微信小程序HTTP接口請(qǐng)求封裝代碼實(shí)例
- 微信小程序HTTP請(qǐng)求從0到1封裝
相關(guān)文章
小程序開(kāi)發(fā)踩坑:頁(yè)面窗口定位(相對(duì)于瀏覽器定位)(推薦)
這篇文章主要介紹了小程序開(kāi)發(fā)頁(yè)面窗口定位,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Promise靜態(tài)四兄弟實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Promise靜態(tài)四兄弟實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
JS?中Json字符串+Cookie+localstorage
這篇文章主要介紹了JS?中Json字符串+Cookie+localstorage,Json主要用于前后端交互,是一種數(shù)據(jù)格式,相較于Xml,使用起來(lái)更加便捷,下面文章將對(duì)他們?cè)敿?xì)介紹,需要的朋友可以參考一下2021-12-12
JS前端使用canvas實(shí)現(xiàn)物體的點(diǎn)選示例
這篇文章主要為大家介紹了JS前端使用canvas實(shí)現(xiàn)物體的點(diǎn)選示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

