实现 effect 返回 runner
it("should return runner when call effect", () => {
let foo = 10
const runner = effect(() => {
foo++
return "foo"
})
expect(foo).toBe(11)
const r = runner()
expect(foo).toBe(12)
expect(r).toBe("foo")
})
class ReactiveEffect {
private _fn: any;
constructor(fn) {
this._fn = fn
}
run() {
// 把实例对象赋值给 activeEffect
activeEffect = this
+ return this._fn()
}
}
export function effect(fn) {
const _effect = new ReactiveEffect(fn)
_effect.run()
+ return _effect.run.bind(_effect)
}
本文标题:实现 effect 返回 runner
本文链接:https://www.haomeiwen.com/subject/bojtmdtx.html
网友评论