@konghayao/promise-transaction

1.5.2 • Public • Published

promise-transaction

全平台的,高健全的,用于方便管理 Promise 函数链 而产生的管理方式。

promise-transaction 通过 jest 单元测试达到 100% 覆盖率。

示例

// Transaction 会按顺序执行函数,碰到错误会直接报错

const tra = new Transaction(
    // Transaction 的参数为一个 Map 对象或者是 Map 的二维数组
    [
        [
            'functionName',
            // dataMap 是数据管理中心
            (dataMap) => {
                return { type: 'blob' };
            },
        ],
        [
            'functionName2',
            // 第一个参数必定为 dataMap,第二个参数为上一个结果,其余参数为 run 函数执行时的函数
            (dataMap, last...params) => {
                // 通过 get 方式可以获取到前面函数执行完毕 return 的结果
                const info = dataMap.get('functionName');
                return { ...info, name: 'Paimon', params };
            },
        ],
    ],
);

// run 函数执行 Transaction, 返回一个可以监测的 Promise 对象
tra.run().then((dataMap) => {
    console.log(dataMap);
});

Promise Transaction 设计示意图

Readme

Keywords

Package Sidebar

Install

npm i @konghayao/promise-transaction

Weekly Downloads

0

Version

1.5.2

License

MIT

Unpacked Size

63 kB

Total Files

14

Last publish

Collaborators

  • konghayao