微信小程序使用Promise

版权声明:本文为 zzwwjjdj1(意外金喜) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/zzwwjjdj1/article/details/79291991

微信小程序使用Promise,其实只需要在API方法外层包一个promise就行了。

本文以微信登陆和获取用户信息接口为例。

封装代码:wechat.js

 

/**
 * Promise化小程序接口
 */
class Wechat {
  /**
   * 登陆
   * @return {Promise} 
   */
  static login() {
    return new Promise((resolve, reject) => wx.login({ success: resolve, fail: reject }));
  };

  /**
   * 获取用户信息
   * @return {Promise} 
   */
  static getUserInfo() {
    return new Promise((resolve, reject) => wx.getUserInfo({ success: resolve, fail: reject }));
  };

};

module.exports = Wechat;

调用代码:

 

 

let wechat = require('./wechat.js');
    wechat.login()
      .then(d => {
        console.log("登陆", d);
        return wechat.getUserInfo();
      })
      .then(d => {
        console.log("获取用户信息", d);
      })
      .catch(e => {
        console.log(e);
      })

结果

 


如果需要传递参数,比如设置本地数据缓存接口:

 

  static setStorage(key, value) {
    return new Promise((resolve, reject) => wx.setStorage({ key: key, data: value, success: resolve, fail: reject }));
  };

更简洁的封装方式:https://blog.csdn.net/zzwwjjdj1/article/details/85316961

 

意外金喜的博客:http://blog.csdn.net/zzwwjjdj1

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页