我有一个派生商店,例如:
const filter = derived([a, b, c, d, e], callback, null);
function callback([$a, $b, $c, $d, $e], set) {
....
set(...);
return() = {
....
};
};
除了缓存存储值之外,是否有一种简单的方法可以找出 [a..e] 的哪个存储触发回调中的回调。例如:如果存储“c”更新,我喜欢用 set(null) 重置。
使用闭包缓存存储值的示例代码:
function cache() {
let cached;
return ([$a, $b, $c, $d, $e], set) => {
....
set(...);
return() = {
if (cached !== $c.value) {
cached = $c.value;
set(null);
};
};
};
};
function filterStore() {
const callback = cache();
const { subscribe } = derived([a, b, c, d, e], callback, null);
return {
subscribe,
};
};
const filter = filterStore();