微信小程序 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 chrome浏览器判断代码
Mar 28 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
node.js 使用ejs模板引擎时后缀换成.html
Apr 22 Javascript
JQ实现新浪游戏首页幻灯片
Jul 29 Javascript
domReady的实现案例
Nov 23 Javascript
jquery实现input框获取焦点的简单实例
Jan 26 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
Sep 12 Javascript
对angular4子路由&辅助路由详解
Oct 09 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
May 17 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 Vue.js
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实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
php异常处理方法实例汇总
2015/06/24 PHP
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
Python小进度条显示代码
2019/03/05 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
python scatter函数用法实例详解
2020/02/11 Python
python爬虫快速响应服务器的做法
2020/11/24 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
幼儿教师个人求职信范文
2013/09/21 职场文书
幼师自荐信
2013/10/26 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
市场营销专业自荐书
2014/06/10 职场文书
开会通知短信大全
2015/04/20 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
python区块链实现简版工作量证明
2022/05/25 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技