全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站为何优先选择香港服务器?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  网站代码制作软件有哪些,如何生成自己网站的代码?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  家庭服务器如何搭建个人网站?  制作宣传网站的软件,小红书可以宣传网站吗?  如何通过主机屋免费建站教程十分钟搭建网站?  电商网站制作公司有哪些,1688网是什么意思?  如何挑选高效建站主机与优质域名?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何用腾讯建站主机快速创建免费网站?  简单实现Android文件上传  网站制作新手教程,新手建设一个网站需要注意些什么?  如何快速搭建二级域名独立网站?  广州建站公司哪家好?十大优质服务商推荐  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何基于云服务器快速搭建网站及云盘系统?  深入理解Android中的xmlns:tools属性  h5网站制作工具有哪些,h5页面制作工具有哪些?  建站主机选购指南:核心配置与性价比推荐解析  如何通过FTP服务器快速搭建网站?  高性价比服务器租赁——企业级配置与24小时运维服务  如何在IIS7中新建站点?详细步骤解析  建站之星展会模版如何一键下载生成?  内网网站制作软件,内网的网站如何发布到外网?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  北京制作网站的公司,北京铁路集团官方网站?  高防服务器:AI智能防御DDoS攻击与数据安全保障  建站之星ASP如何实现CMS高效搭建与安全管理?  常州企业建站如何选择最佳模板?  如何在企业微信快速生成手机电脑官网?  学校建站服务器如何选型才能满足性能需求?  南宁网站建设制作定制,南宁网站建设可以定制吗?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何选择域名并搭建高效网站?  如何设计高效校园网站?  建站之星安装路径如何正确选择及配置?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  建站之星微信建站一键生成小程序+多端营销系统  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  建站之星展会模板:智能建站与自助搭建高效解决方案  建站之星代理商如何保障技术支持与售后服务?  如何通过免费商城建站系统源码自定义网站主题与功能?  如何快速生成可下载的建站源码工具?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的? 

您的项目需求

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