微信小程序 es6-promise.js封装请求与处理异步进程


Posted in Javascript onJune 12, 2017

微信小程序 es6-promise.js封装请求与处理异步进程

下载es6-promise.js置于根目录下的libs文件夹下;

在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法

var Promise = require('../libs/es6-promise.min')
function httpsPromisify(fn) { 
 return function (obj = {}) {  
  return new Promise((resolve, reject) => {   
   obj.success = function (res) {    
    resolve(res)   
   }   
   obj.fail = function (res) {    
    reject(res)   
   }   
   fn(obj)  
  }) 
 }
}
module.exports = { 
 httpsPromisify: httpsPromisify
}

调用方法:

var Promisify = require('../../utils/httpsPromisify')  Page({

  onLoad: function(){
   Promisify.httpsPromisify(wx.request)({
    url: "https://XXXXXXX",
    header: {
     "Content-Type": "application/x-www-form-urlencoded"
    },
    method: "POST",
    data: {

    }
   }).then(function(res){
     console.log(res)
   })    

  }, })

注意:

目前支持promise的第三方库有许多,如$q.js,bluebird.js等等,但是需要注意的是,这些在微信开发工具上可以正常使用,但是到真机上就没有效果了;

所以用es6-Promise.js,这个亲测完美,而且文件大小比其他在都小很多,所以建议大家使用。

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

Javascript 相关文章推荐
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
Jquery实现的角色左右选择特效
May 21 Javascript
使表格的标题列可左右拉伸jquery插件封装
Nov 24 Javascript
jquery+ajax验证不通过也提交表单问题处理
Dec 12 Javascript
浅谈javascript对象模型和function对象
Dec 26 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
Oct 13 Javascript
node.js中的事件处理机制详解
Nov 26 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 Javascript
原理深度解析Vue的响应式更新比React快
Apr 04 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
AngularJS 异步解决实现方法
Jun 12 #Javascript
jquery+css实现侧边导航栏效果
Jun 12 #jQuery
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 #Javascript
Vue非父子组件通信详解
Jun 12 #Javascript
详解angularjs 关于ui-router分层使用
Jun 12 #Javascript
Vue 2中ref属性的使用方法及注意事项
Jun 12 #Javascript
深究AngularJS如何获取input的焦点(自定义指令)
Jun 12 #Javascript
You might like
PHP入门
2006/10/09 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php实现的操作excel类详解
2016/01/15 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
python 代码运行时间获取方式详解
2020/09/18 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
法国春天百货官网:Printemps.com
2020/06/29 全球购物
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
试用期员工工作自我评价
2014/09/10 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
Android中View.post和Handler.post的关系
2022/06/05 Java/Android