使用XPCOM回调

时间:2011-03-14 19:20:48

标签: c++ xpcom xulrunner

我想实现类似于Timer组件的观察者模式。不是通过时间到期调用回调,而是从系统事件调用作为主题观察者的回调(例如创建新文件或接收新电子邮件等)。我尝试在组件XPCOM中使用nsIObserverService,但似乎组件中的函数无法使用NotifyObservers在JavaScript中调用观察者。 NotifyObservers仅在从JavaScript调用时才有效。

提前致谢

1 个答案:

答案 0 :(得分:1)

Example::Example总是在主线程上运行(因为它是由脚本创建的)。因此它永远不会为观察者服务创建代理。但是来自Example::Call的{​​{1}}调用发生在后台线程上,我认为在这种情况下,对Ex::Run的调用会返回NotifyObservers(您忽略它)。