csdnsynchexo
Version:
支持csdn/博客园/掘金/segmentfault/腾讯云加社区等平台一键迁移hexo
23 lines (22 loc) • 782 B
JavaScript
import { error, success } from '../log/index.js';
export const successKey = Symbol('success');
export const failKey = Symbol('fail');
export const catchCount = () => {
return function (target, propertyKey, descriptor) {
const origin = descriptor?.value;
target[successKey] = 0;
target[failKey] = 0;
descriptor.value = async function (...args) {
try {
const res = await origin?.apply(this, args);
target[successKey]++;
success(`success: ${target[successKey]};fail: ${target[failKey]}`);
return res;
}
catch (e) {
error(`${propertyKey} ${args.join(',')} ${e}`);
target[failKey]++;
}
};
};
};