在提供给Lodash函数_.flow的每个函数之后,有什么方法可以做吗?
我希望记录提供给_.flow的函数的每一次消耗时间。
例如,对于以下代码,
_.flow([
funcA,
funcB
])我想记录一下funcA和funcB的消费时间如下:
funcA spent 1.21s.
funcB spent 0.45s.发布于 2019-07-23 09:32:09
谢谢保罗·鲁尼,我实现了:
function injectTimeLogger (logger, funcs) {
return funcs.map((func, i) => (...params) => {
const funcName = func.name;
const startTime = Date.now();
const rst = func(...params);
const spentTime = (Date.now() - startTime) / 1000;
logger.info(`func[${i + 1}/${funcs.length}][${funcName}] spent ${spentTime}s`);
return rst;
});
}
const logger = {
info: console.log
}
_.flow(injectTimeLogger(logger, [
funcA,
funcB
]))https://stackoverflow.com/questions/57159137
复制相似问题