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);
});