我试图将一个相当慢的函数移出主线程,但我要重新定位的代码取决于我使用 Components 对象编写的模块。我的理解是组件由于缺乏线程安全性而被禁止。
我花了很多时间整理 MDN 上的文档,我的脑袋都在游动;似乎 Firefox 有十几种不同的打开文件的方式,它们以不同的方式获取 URI、本机路径或从浏览器内部更复杂的接口生成的任意数量的不兼容对象,我不知道它们是如何互操作的或者什么开始适合这个。我读得越多,我就越不知道自己在做什么。我猜真正的答案很简单,很抱歉要求被喂食,但是:
A)可以从工作线程内部打开(本地)文件吗?
B) 我可以举个例子吗?
C) ...最好是使用 URI 而不是本机路径的示例?
D) ...最好不从工作人员外部实例化和传递任何对象?
我来自 Perl 的传统,while(<>) {}
Firefox 似乎拥有所见过的文件 I/OI 中最冗余/迟钝/可怕的系统。