2016-03-19 1 views
0

После этого Link я создал надстройку, которая запускает собственный дочерний процесс. Детский процесс может отправлять данные в расширение с помощью StdOut процесса, никаких проблем нет. Однако, когда я пытаюсь отправить данные из Extension (add-on script) в собственное приложение, используя emit (target, 'data', 'data'); испускают (цель, 'конец'); как указано в документации MDN, похоже, что приложение получает сообщение только один раз. Если я попытаюсь снова сделать emit (target, 'data', ..); emit (target, 'end'), снова .. он не отправляется в собственное приложение. Я отлаживал его и выглядел после того, как мы испускаем («конец»), он удаляет некоторых слушателей, и в следующий раз, когда вызывается emit(), нет зарегистрированных зарегистрированных слушателей, и он фактически не отправляет событие. Было бы очень полезно, если бы кто-то мог указать мне на то, чего я не вижу.Firefox addon. Коммуникация с использованием child_process с родным приложением

+0

тогда просто не испускайте «конец»? – the8472

+0

спасибо, если я не выдаю «конец», тогда «данные» на самом деле не покраснели, а мое родное приложение не получает данные. – Igor

ответ

1

Испускающий end, вероятно, закрывает выходной поток или что-то в этом роде, поэтому просто не испускайте end, пока вы на самом деле не выполните отправку данных навсегда.

+0

Спасибо, конец был проблемой. и некоторые проблемы были в моем родном приложении. .I ожидал новую строку, так что теперь, когда я испускаю «данные» + «\ n», теперь приложение может получать все данные каждый раз. – Igor

Смежные вопросы