微信小程序 封装http请求实例详解

前端之家收集整理的这篇文章主要介绍了微信小程序 封装http请求实例详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

微信小程序 封装http请求

最近看了一下微信小程序,大致翻了一下,发现跟angular很相似的,但是比angular简单的很多具体可参考官方文档

https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/page.html?t=2017112

下面将封装http请求服务部分的服务以及引用部分

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文件中创建文件requestService.js文件

下边是在page.js文件中引用部分代码

函数注册一个界面,接收一个Object对象,该对象指定了初始化数据/生命周期函数函数/事件处理函数 // data 存放页面初始化数据数据,类似angular的的$scope // onLoad 生命周期函数 监听页面加载 // onReady 生命周期函数 监听页面首次渲染完成完成 // onShow 生命周期函数 监听界面显示 // onHide 生命周期函数 监听界面隐藏 // onUnload 生命周期函数 监听页面卸载 // onPullDownRefresh 页面相关事件 监听用户下拉事件 // onReachBottom 页面上拉到达底部触发的事件 // 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 () {
// 微信分享需要的配置参数
return {
title: '自定义分享标题',desc: '自定义分享描述',path: '/page/user?id=123'
}
// console.log(1);
}
});

上边的代码和js代码有不同的代码需要注意

1.异步处理方式改变

原有方式是:

现有的方式:

2.在promise成功或者失败的回调中不能直接赋值,如:

})

需要使用如下方式:

})

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

猜你在找的微信小程序相关文章