用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 实战教程 查看内容

微信小程序 es6-promise.js封装请求,处理异步进程

Rolan 2017-6-9 10:23

下载es6-promise.js置于根目录下的libs文件夹下;在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法var Promise = require('../libs/es6-promise.min')function httpsPromisify(fn) { return func ...

下载es6-promise.js置于根目录下的libs文件夹下;

在根目录utils文件夹下新建httpsPromisify.js,即定义封装请求的方法

  1. var Promise = require('../libs/es6-promise.min')
  2. function httpsPromisify(fn) {
  3. return function (obj = {}) {
  4. return new Promise((resolve, reject) => {
  5. obj.success = function (res) {
  6. resolve(res)
  7. }
  8. obj.fail = function (res) {
  9. reject(res)
  10. }
  11. fn(obj)
  12. })
  13. }
  14. }
  15. module.exports = {
  16. httpsPromisify: httpsPromisify
  17. }
  18.   

调用方法:

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,这个亲测完美,而且文件大小比其他在都小很多,所以建议大家使用。

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 返回主页 F_Ender 来自: 博客园

相关阅读

  • airfly 2018-7-6 11:24
    显示错误:

    thirdScriptError
    Promise is not a constructor;at App onLoad function
    TypeError: Promise is not a constructor

推荐阅读

    最新Demo