0

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

提前致谢

4

1 回答 1

1

Example::Example始终在主线程上运行(因为它是由您的脚本创建的)。所以它永远不会创建观察者服务的代理。但是对Example::Callfrom的调用Ex::Run发生在后台线程上,我认为在这种情况下调用NotifyObservers返回NS_ERROR_UNEXPECTED(你忽略它)。

于 2011-03-15T21:58:35.427 回答