かなり遅い関数をメイン スレッドから移動しようとしていますが、再配置するコードは Components オブジェクトを使用して記述したモジュールに依存しています。私の理解では、コンポーネントはスレッド セーフがないため禁止されています。
私は MDN のドキュメントを整理するのに時間を費やしましたが、私の頭は泳いでいます。Firefox にはファイルを開くさまざまな方法があり、URI、ネイティブ パス、またはブラウザの奥深くにあるさらに複雑なインターフェイスから生成された任意の数の互換性のないオブジェクトをさまざまな方法で取得しているようで、それらがどのように相互運用されているかわかりません。または、これに適していると思われるもの。読めば読むほど、自分が何をしているのかわからなくなります。本当の答えは簡単だと思います。
A) ワーカー スレッド内から (ローカル) ファイルを開いても大丈夫ですか?
B) これの例を教えてください。
C) ...できれば、ネイティブ パスの代わりに URI を使用した例ですか?
D) ...できればインスタンス化してワーカーの外からオブジェクトを渡すことなく?
私は Perl の伝統を受け継いでwhile(<>) {}
おり、Firefox は、これまでに見た中で最も冗長/鈍い/恐ろしいシステムを持っているように見えます。