Skip to content

为微信公众号 JS-SDK 提供 TypeScript 支持,同时将其基于回调函数的异步 API 转化为 Promise 形式。

License

Notifications You must be signed in to change notification settings

fudiwei/wxjssdk-promisify

Repository files navigation

@skit/wxjssdk-promisify

NPM Version NPM Download Dependency Status License


特性

  • 将微信 JS-SDK 中提供的基于回调函数的 API,转化为 Promise 形式(wx.func 将转换成同名的 wx.funcAsync 形式);
  • 可单独拷贝到项目中使用;
  • 支持 TypeScript;
  • 与微信 JS-SDK(当前版本:1.6.0)同步更新。

用法

安装:

npm install @skit/wxjssdk-promisify

导入:

const $ = require('@skit/wxjssdk-promisify');

$.promisifyAll({
    root: wx, // (可选)指定异步方法挂载到某个对象的属性上。默认挂载到 wx。
    extends: ['checkJsApi'] // (可选)若 JS-SDK 新增了某些 API 而本库尚未更新,可由此传入相应的方法名数组以转换成异步方法。
});

使用异步方法:

wx.checkJsApiAsync({ jsApiList: ['chooseWXPay'] })
    .then((res) => {
        console.info('success', res.checkResult);
    })
    .catch((err) => {
        console.error('fail', err);
    })
    .finally(() => {
        console.log('complete');
    });

/**
 * @example 以上示例代码等同于下方原生实现:
 */
wx.checkJsApi({
    jsApiList: ['chooseWXPay'],
    success: (res) => {
        console.info('success', res.checkResult);
    },
    fail: (err) => {
        console.error('fail', err);
    },
    complete: () => {
        console.log('complete');
    }
});

About

为微信公众号 JS-SDK 提供 TypeScript 支持,同时将其基于回调函数的异步 API 转化为 Promise 形式。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published