2016-03-19 36 views
0

在此Link之後,我創建了一個啓動本地子進程的加載項。子進程可以使用進程的StdOut將數據發送到擴展,在那裏沒有問題。但是,當我嘗試使用發射(目標,'數據','數據')從擴展(附加腳本)將數據發送到本機應用程序時;發射(目標, '結束');正如MDN文檔中提到的,它似乎只能收到一次該消息。如果我試圖再次發射(目標,'數據',..);發出(目標,'結束'),再次..它不會被髮送到本機應用程序。我調試它,看起來像我們發射後('結束'),它會刪除一些偵聽器,下次調用emit()時,沒有註冊的偵聽器,它實際上並不派遣事件。如果有人能指出我缺少的東西,我會很感激。Firefox插件。使用本地應用程序使用child_process進行通信

+0

那麼只是不發出'結束'? – the8472

+0

謝謝,如果我不發射'結束',那麼'數據'實際上並沒有被刷新,我的本地應用程序沒有得到數據。 – Igor

回答

1

發送end可能會關閉輸出流,或者出現這種情況,所以不要發出end,直到您實際完成發送數據爲止。

+0

謝謝,最終是問題所在。有一些問題出現在我的本地應用程序中。 。它現在正在等待一條新的線,現在我發出「數據」+「\ n」,現在應用程序可以每次獲取所有數據。 – Igor

相關問題