当我在 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/