firefox - Firefox 扩展中 setTimeout 的竞争条件?

标签 firefox firefox-addon race-condition

当我在 Firefox 扩展中调用 setTimeout 时会发生什么?是否存在多个回调可以同时运行的情况?

我的 Firefox 扩展包含一组我想要截取屏幕截图的 URL。我的扩展程序打开 5 个选项卡,并将这些选项卡的 URL 设置为数组中的前 5 个 URL。一旦页面在选项卡 N 中加载完成,我想等待 30 秒,截取屏幕截图,然后从数组中弹出下一个 URL,并将其加载到选项卡 N 中。该过程会不断重复,直到 URL 列表为空。

如何确保每个 URL 只被处理一次?如果我用 java 编写此内容,我只会同步对 URL 列表的所有访问。如何在 Firefox 扩展中实现此目的?

最佳答案

Javascript 是完全单线程的(新的 Workers 功能除外,该功能是独立的)。

两个回调不能同时运行。

关于firefox - Firefox 扩展中 setTimeout 的竞争条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3559452/

相关文章:

firefox - 检测 Firefox 附加组件中的标签 URL 更改

c# - 在更新排序和显示时在并发字典中获取参数异常

java - Java 信号量的确定性如何保证?

firefox - 从 Firefox 签署客户端证书以进行身份​​验证

asp.net - Firefox + Asp.NET + Windows 身份验证 = 没有 css 背景图像?

node.js - Firefox 插件中的 Socket.io

python - 如何在 Django 测试中强制交易中的竞争条件?

javascript - document.dispatchEvent() 在 Firefox 中不起作用

html - 奇怪的顶部间隙和不居中的 CSS

javascript - 如何获取 UInt64 的值,只有 toString 方式?