微信小程序利用promise处理异步请求

原创 2018年04月16日 16:30:18

小程序已经支持Promise了,可以直接使用

不过,小程序的API的参数格式都比较统一,只接受一个object参数,回调都是在这个参数中设置,所以,这为了统一处理提供了便利,写一个工具方法,来完成这样的工作
首先需要引用一个叫bluebird.js的文件;
进入bluebird官网下载:

然后再写一个JS,里面写工具方法:

下面是prom.js

var Promise = require('./bluebird')
function wxPromisify(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 = {
    wxPromisify: wxPromisify
}

然后需要使用的那个页面的js里引入prom.js:


调用:

getCompanyMsg : function(){},

onLoad:function () {

    var that = this;
    prom.wxPromisify(wx.getStorage) ({
        key: 'company_id',
    }).then(function (res) {
        that.setData({
            companyId: res.data
        });
    }).then(function () {
        prom.wxPromisify(wx.getStorage) ({
            key: 'header',
        }).then(function (res) {
            that.setData({
                header: res.data
            });
        }).then(function () {
            that.getCompanyMsg()
        })
    })
}


微信小程序项目实战

-
  • 1970年01月01日 08:00

微信小程序实践——用Promise 封装API

如果新接触 Promise 的话,在网上能找到很多介绍 Promise 及其使用的文章(比如:ECMAScript 6 入门 / Promise 对象),这里就不赘述了,简而言之就是用来处理异步调用的...
  • qq_38125123
  • qq_38125123
  • 2017-08-02 10:18:41
  • 6310

微信小程序开发之网络请求(GET请求)

微信小程序开发中网络请求必不可少,今天说说最简单的请求.后续会尝试上传下载,Socket这些. 1.一个微信小程序,同时只能有5个网络请求连接。 这个规定应该是微信为了保证用户体验制定的,毕竟是小程序...
  • qq_31383345
  • qq_31383345
  • 2016-10-14 22:00:23
  • 12845

微信小程序开发之网络请求(POST请求)

微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求 POST请求的时候有好几个坑.我已经为大家填好了. wx.request({ url: 'test.php', d...
  • qq_31383345
  • qq_31383345
  • 2016-10-17 16:08:30
  • 44481

微信小程序网络请求的封装与填坑之路

以前写过一篇关于微信小程序上拉加载,上拉刷新的文章,今天写的是关于小程序网络请求的封装。 在这里首先声明一个小程序文档的bug,导致大伙们在请求的时候,服务器收到不到参数的问题示例代码:wx.req...
  • u010046908
  • u010046908
  • 2016-11-15 12:53:03
  • 8680

微信小程序之网络请求简单封装

在微信小程序中实现网络请求相对于Android来说感觉简单很多,我们只需要使用其提供的API就可以解决网络请求问题。 - 普通HTTPS请求(wx.request) - 上传文件(wx.uplo...
  • xiehuimx
  • xiehuimx
  • 2017-06-27 08:29:15
  • 1983

微信小程序 引入es6 promise

微信小程序开发两个月了.大家的项目都在不断迭代.已经不是小程序.这时候就会遇到多层回调嵌套的问题.有些目不忍视了.迫不得已引入es6-promise.在微信小程序内测的时候promise不需要手动引入...
  • qq_31383345
  • qq_31383345
  • 2017-03-06 12:47:09
  • 21447

微信小程序利用promise处理异步请求

小程序已经支持Promise了,可以直接使用不过,小程序的API的参数格式都比较统一,只接受一个object参数,回调都是在这个参数中设置,所以,这为了统一处理提供了便利,写一个工具方法,来完成这样的...
  • ttn456456
  • ttn456456
  • 2018-04-16 16:30:18
  • 20

原生ajax请求与Promise请求

// 简单的ajax原生实现 var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-2...
  • qq_29849641
  • qq_29849641
  • 2017-04-05 12:50:30
  • 2585

微信小程序使用Promise

微信小程序使用Promise
  • zzwwjjdj1
  • zzwwjjdj1
  • 2018-02-22 09:09:57
  • 2238
收藏助手
不良信息举报
您举报文章:微信小程序利用promise处理异步请求
举报原因:
原因补充:

(最多只允许输入30个字)