全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

微信小程序 封装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(){

})

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


# 微信小程序  # 封装http  # 封装http请求实例详解  # http  # 微信小程序设置http请求的步骤详解  # 微信小程序 http请求封装详解及实例代码  # 微信小程序 http请求的session管理  # 微信小程序 http请求详细介绍  # 微信小程序HTTP接口请求封装的实现  # 微信小程序封装的HTTP请求示例【附升级版】  # 监控微信小程序中的慢HTTP请求过程详解  # Fundebug支持监控微信小程序HTTP请求错误的方法  # 微信小程序HTTP接口请求封装代码实例  # 微信小程序HTTP请求从0到1封装  # 周期函数  # 自定义  # 的是  # 是在  # 看了  # 首次  # 希望能  # 翻了  # 谢谢大家  # 需要注意  # 回调  # 很相似  # 加载  # 文档  # url  # data  # header  # method  # function  # promisepromise 


相关文章: 网站制作价目表怎么做,珍爱网婚介费用多少?  如何选择香港主机高效搭建外贸独立站?  如何正确选择百度移动适配建站域名?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  高性价比服务器租赁——企业级配置与24小时运维服务  如何通过cPanel快速搭建网站?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何通过网站建站时间优化SEO与用户体验?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何访问已购建站主机并解决登录问题?  专业网站建设制作报价,网页设计制作要考什么证?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  javascript基本数据类型及类型检测常用方法小结  如何在Tomcat中配置并部署网站项目?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何在万网主机上快速搭建网站?  购物网站制作公司有哪些,哪个购物网站比较好?  小程序网站制作需要准备什么资料,如何制作小程序?  高端企业智能建站程序:SEO优化与响应式模板定制开发  独立制作一个网站多少钱,建立网站需要花多少钱?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  建站之星logo尺寸如何设置最合适?  Android使用GridView实现日历的简单功能  如何实现建站之星域名转发设置?  企业微网站怎么做,公司网站和公众号有什么区别?  如何有效防御Web建站篡改攻击?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  javascript中的try catch异常捕获机制用法分析  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  ,网页ppt怎么弄成自己的ppt?  常州企业建站如何选择最佳模板?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  高防服务器如何保障网站安全无虞?  网站制作的步骤包括,正确网址格式怎么写?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何用VPS主机快速搭建个人网站?  无锡营销型网站制作公司,无锡网选车牌流程?  建站之星2.7模板快速切换与批量管理功能操作指南  佛山网站制作系统,佛山企业变更地址网上办理步骤?  详解jQuery停止动画——stop()方法的使用  外贸公司网站制作哪家好,maersk船公司官网?  ,有什么在线背英语单词效率比较高的网站?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  建站主机与服务器功能差异如何区分?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何快速上传自定义模板至建站之星? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。