Обратный звонок с XPCOM - PullRequest
0 голосов
/ 14 марта 2011

Я хотел бы реализовать шаблон наблюдателя, похожий на компонент Timer.Вместо того, чтобы вызывать обратный вызов по истечении времени, обратные вызовы, которые являются наблюдателями темы, будут вызываться из системных событий (например, создание нового файла или получение нового электронного письма и т. Д.).Я попытался использовать nsIObserverService в компоненте XPCOM, но кажется, что функции из компонента не могут вызывать наблюдателей в JavaScript с помощью NotifyObservers.NotifyObservers работает только при вызове из JavaScript.

Заранее спасибо

1 Ответ

1 голос
/ 16 марта 2011

Example::Example всегда выполняется в главном потоке (потому что он создается вашим скриптом).Таким образом, он никогда не создает прокси для службы наблюдателей.Но вызов Example::Call из Ex::Run происходит в фоновом потоке, и я думаю, что в этом случае вызов NotifyObservers возвращает NS_ERROR_UNEXPECTED (что вы игнорируете).

...