createEffect compacted

This commit is contained in:
2026-04-13 18:08:56 +02:00
parent bc23716280
commit 7aac307af5

View File

@@ -38,18 +38,18 @@ const onUnmount = fn => {
const createEffect = (fn, isComputed = false) => { const createEffect = (fn, isComputed = false) => {
const effect = () => { const effect = () => {
if (effect._disposed) return if (effect._disposed) return
if (effect._deps) effect._deps.forEach(depSet => depSet.delete(effect)) if (effect._deps) effect._deps.forEach(s => s.delete(effect))
if (effect._cleanups) { if (effect._cleanups) {
effect._cleanups.forEach(cl => cl()) effect._cleanups.forEach(c => c())
effect._cleanups.clear() effect._cleanups.clear()
} }
const prevEffect = activeEffect const prevEffect = activeEffect
const prevOwner = activeOwner const prevOwner = activeOwner
activeEffect = activeOwner = effect activeEffect = activeOwner = effect
try { try {
const res = fn() return effect._result = fn()
effect._result = res } catch (e) {
return res console.error("[SigPro]", e)
} finally { } finally {
activeEffect = prevEffect activeEffect = prevEffect
activeOwner = prevOwner activeOwner = prevOwner