我可以在Firefox扩展程序的JavaScript代码中使用某些同步机制(例如锁)吗?
我根据https://developer.mozilla.org/en-US/docs/Code_snippets/On_page_load添加了代码,以便在每次加载页面时使扩展程序执行某些操作,并且我想控制在扩展程序的JavaScript代码中运行的函数序列。
有没有办法在Firefox扩展程序的JavaScript代码中使用某些同步机制(例如锁)来实现这一点?
就像一个疯狂的猜测,我是否需要使用网络工作者?
答案 0 :(得分:1)
您可以使用async library进行流量控制
答案 1 :(得分:0)
我现在正在这样做的方法是使用Dekker's algorithm将共享变量放在JavaScript code module内。
现在我只需要同步2件事,为了同步更多的东西some solutions for software mutual exclusion可以使用。
这种忙碌的等待可能会让Firefox陷入困境(可能是由于Firefox如何处理进程和线程?),所以我不建议使用这样的东西。
更好的解决方案是使用事件,如Mozilla网站上显示的here。
也许还有其他选择。 What is the JavaScript version of sleep()?有一些有趣的答案。