微信小程序 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 贪吃蛇实现代码
Nov 22 Javascript
js null undefined 空区别说明
Jun 13 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
优化javascript的执行效率一些方法总结
Dec 25 Javascript
简单介绍JavaScript的变量和数据类型
Jun 03 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
微信小程序开发之Tabbar实例详解
Jan 09 Javascript
React-Native做一个文本输入框组件的实现代码
Aug 10 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
详解微信小程序调用支付接口支付
Apr 28 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之apc
2013/05/15 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
JavaScript多线程的实现方法
2007/05/08 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
JavaScript中0和""比较引发的问题
2016/05/26 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
2019/03/05 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
关于反爬虫的一些简单总结
2017/12/13 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
dataframe 按条件替换某一列中的值方法
2019/01/29 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
python实现双色球随机选号
2020/01/01 Python
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
学生思想表现的评语
2014/01/30 职场文书
人事部专员岗位职责
2014/03/04 职场文书
学习雷锋倡议书
2014/04/15 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
庆七一活动简报
2015/07/20 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS