微信小程序 封装http请求实例详解
发布时间 - 2026-01-10 22:33:37 点击率:次微信小程序 封装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(){
})
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序
# 封装http
# 封装http请求实例详解
# http
# 微信小程序设置http请求的步骤详解
# 微信小程序 http请求封装详解及实例代码
# 微信小程序 http请求的session管理
# 微信小程序 http请求详细介绍
# 微信小程序HTTP接口请求封装的实现
# 微信小程序封装的HTTP请求示例【附升级版】
# 监控微信小程序中的慢HTTP请求过程详解
# Fundebug支持监控微信小程序HTTP请求错误的方法
# 微信小程序HTTP接口请求封装代码实例
# 微信小程序HTTP请求从0到1封装
# 周期函数
# 自定义
# 的是
# 是在
# 看了
# 首次
# 希望能
# 翻了
# 谢谢大家
# 需要注意
# 回调
# 很相似
# 加载
# 文档
# url
# data
# header
# method
# function
# promisepromise
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何处理异常和错误?(Handler示例)
linux写shell需要注意的问题(必看)
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
Laravel如何保护应用免受CSRF攻击?(原理和示例)
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
深圳网站制作的公司有哪些,dido官方网站?
如何快速上传建站程序避免常见错误?
如何注册花生壳免费域名并搭建个人网站?
使用spring连接及操作mongodb3.0实例
使用Dockerfile构建java web环境
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何快速搭建个人网站并优化SEO?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel如何集成Inertia.js与Vue/React?(安装配置)
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Android GridView 滑动条设置一直显示状态(推荐)
如何在阿里云ECS服务器部署织梦CMS网站?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
北京专业网站制作设计师招聘,北京白云观官方网站?
如何用AWS免费套餐快速搭建高效网站?
如何快速生成ASP一键建站模板并优化安全性?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
如何在阿里云香港服务器快速搭建网站?
Laravel如何使用Eloquent进行子查询
Laravel如何配置Horizon来管理队列?(安装和使用)
详解jQuery中基本的动画方法
如何用狗爹虚拟主机快速搭建网站?
如何在香港免费服务器上快速搭建网站?
,交易猫的商品怎么发布到网站上去?
香港服务器租用费用高吗?如何避免常见误区?
智能起名网站制作软件有哪些,制作logo的软件?
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
如何有效防御Web建站篡改攻击?
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Angular 表单中正确绑定输入值以确保提交与验证正常工作
电商网站制作价格怎么算,网上拍卖流程以及规则?
JavaScript常见的五种数组去重的方式
javascript中闭包概念与用法深入理解
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
MySQL查询结果复制到新表的方法(更新、插入)
用v-html解决Vue.js渲染中html标签不被解析的问题
如何正确选择百度移动适配建站域名?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
香港服务器租用每月最低只需15元?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法

