我想实现类似于Timer组件的观察者模式。不是通过时间到期调用回调,而是从系统事件调用作为主题观察者的回调(例如创建新文件或接收新电子邮件等)。我尝试在组件XPCOM中使用nsIObserverService,但似乎组件中的函数无法使用NotifyObservers在JavaScript中调用观察者。 NotifyObservers仅在从JavaScript调用时才有效。
提前致谢
答案 0 :(得分:1)
Example::Example
总是在主线程上运行(因为它是由脚本创建的)。因此它永远不会为观察者服务创建代理。但是来自Example::Call
的{{1}}调用发生在后台线程上,我认为在这种情况下,对Ex::Run
的调用会返回NotifyObservers
(您忽略它)。