我很难找到解决这个问题的方法。用例如下:
比如说函数是:
function retrieveResource(resourceId, callback) {
extLib.getResource(resourceId, function (err, data) {
callback(err, data);
};
};
因此,当多个“调用者”调用retrieveResource函数时,通常它们具有相同的resourceId。当这种情况发生在1秒的间隔内时,我只想对extLib.getResource执行1次调用,其余的只使用与第一次函数调用相同的值。
使用缓存在这里不太合适,因为函数大致同时调用,它们都大致同时检查缓存,缓存在那时是空的。
我看了_.debounce,_.throttle它们不是我正在寻找的,因为去抖只执行一个功能而且油门仍在执行所有功能。
有什么想法吗?