ES6 使用Proxy实现观察者模式

喜你入骨 提交于 2019-12-11 00:20:05

观察者模式指的是函数自动观察数据对象的模式,一旦对象有变化,函数就会自动执行。

const queuedObservers = new Set()

const observe = fn => queuedObservers.add(fn)

const observable = obj => new Proxy(obj, {set})

function set(tartget, key, value, receiver) {
    const result = Reflect.set(target, key, value, receiver)
    queuedObservers.forEach(observer => observer())
    return result
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!