微信小程序 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 继承机制的实现
Aug 12 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
js获取iframe中的window对象的实现方法
May 20 Javascript
javascript滚轮控制模拟滚动条
Oct 19 Javascript
jQuery dateRangePicker插件使用方法详解
Jul 28 jQuery
WebPack配置vue多页面的技巧
May 15 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
vue 源码解析之虚拟Dom-render
Aug 26 Javascript
24行JavaScript代码实现Redux的方法实例
Nov 17 Javascript
vue实现图片懒加载的方法分析
Feb 05 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 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-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
详谈PHP编码转换问题
2015/07/28 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
python自动发送邮件脚本
2018/06/20 Python
python对视频画框标记后保存的方法
2018/12/07 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
火车来了教学反思
2014/02/11 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
python实现局部图像放大
2021/11/17 Python