微信小程序 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中call和apply方法浅谈
Sep 27 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 Javascript
jQuery中prepend()方法使用详解
Aug 11 Javascript
JavaScript多线程详解
Aug 12 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
React-router中结合webpack实现按需加载实例
May 25 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
May 05 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 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
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
PHP使用函数用法详解
2018/09/30 PHP
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
linux环境下Django的安装配置详解
2019/07/22 Python
Python线程指南分享
2019/11/19 Python
Python二元算术运算常用方法解析
2020/09/15 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
Django如何实现防止XSS攻击
2020/10/13 Python
澳大利亚百货公司:David Jones
2018/02/08 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
儿子婚宴答谢词
2014/01/09 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
介绍信的格式
2015/01/30 职场文书
信用卡收入证明范本
2015/06/12 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python