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

网友投稿 284 2023-06-18


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

微信小程序 封装http请求

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

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

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

// 本服务用于封装请求

// 返回的是一个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文件中创建文件requestService.js文件

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

// 界面一般通过使用Page函数注册一个界面,接收一个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.异步处理方式改变

原有方式是:

var promise = new Promise();

promise.resolve('成功');

promise.reject('失败');

return promise;

现有的方式:

return new Promise(function (resolve, reject) {

resolve('成功');

reject('失败');

})

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

var that = this;

test()

.then(function(){

that.data.test='';

},function(){

})

需要使用如下方式:

var that = this;

test()

.then(function(){

that.setDatat={

test:123

};

},function(){

})

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:codeMirror插件使用讲解
下一篇:微信小程序 安全包括(框架、功能模块、账户使用)详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~