微信小程序 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 相关文章推荐
js中数组排序sort方法的原理分析
Nov 20 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
jQuery on()绑定动态元素出现的问题小结
Feb 19 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 Javascript
利用Blob进行文件上传的完整步骤
Aug 02 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
Nov 25 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
vue 自动化路由实现代码
Sep 03 Javascript
在vue中利用v-html按分号将文本换行的例子
Nov 14 Javascript
Angular利用HTTP POST下载流文件的步骤记录
Jul 26 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获取某个目录大小的代码
2008/09/10 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
js运动应用实例解析
2015/12/28 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
Angular实现表单验证功能
2017/11/13 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python sorted函数原理解析及练习
2020/02/10 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
迪奥官网:Dior.com
2018/12/04 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
英国名牌男装店:Standout
2021/02/17 全球购物
投资入股合作协议书
2014/10/28 职场文书
任命书格式范文
2015/09/22 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python