2

ブートストラップされたアドオンを無効にすると、時折エラーが記録されることに気付きました。

機能のシャットダウン:

function shutdown(data, reason) {

  forEachOpenWindow(unloadFromWindow);
  Services.wm.removeListener(WindowListener);
  Components.utils.unload('chrome://myaddon/content/main.jsm');
}

時々、アドオンを無効にする際にエラーが発生しました:

NotFoundError: Node was not found main.jsm:112

それComponents.utils.unload()は非同期ですか?

1- そうですか、それとも他の問題によるものですか?
2-もしそうなら、どのように対処すればよいですか?
3-Components.utils.unload()削除する (それ自体を削除する) JSM に追加 (処理) できますか?
4- 他に何か提案はありますか?

アップデート:

次のテスト:
無効 -- エラーなし
有効/無効 -- 1 エラー (上)
有効/無効 -- 2 エラー (上)
有効/無効 -- 3 エラー (上)
有効/無効 -- 4 エラー (上)
有効/無効 -- 5 エラー (上記)

今それは奇妙です....

更新 2:
問題が見つかりました....リスナーの 1 つでタイプミス/エラーが発生したため、削除されshutdown()ず、その後の有効化/無効化ごとにリスナーが 1 つ追加されました...そのため、毎回エラーの数が増加しました:)

4

1 に答える 1