open-index/open-npm huggingface dataset:
npm package: @konghayao/promise-transaction
Description: 全平台的，高健全的，用于方便管理 **Promise 函数链** 而产生的管理方式。
Author: KonghaYao
Latest version: 1.5.2

# promise-transaction

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

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

## 示例

```js
// 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 设计示意图

![](design.png)