gpt4 book ai didi

javascript - 如何为 Lodash flow 中的每个函数做一些事情?

转载 作者:行者123 更新时间:2023-12-01 00:48:46 27 4
gpt4 key购买 nike

在提供给Lodash函数_.flow的每个函数之后,有什么办法可以做一些事情吗?

我想记录提供给_.flow的函数的每个消耗时间。

例如,对于以下代码,

_.flow([
funcA,
funcB
])

我想记录 funcAfuncB 的消耗时间,例如:

funcA spent 1.21s.
funcB spent 0.45s.

最佳答案

谢谢 Paul Rooney,我实现了它:

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
]))

关于javascript - 如何为 Lodash flow 中的每个函数做一些事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57159137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com