Что происходит, когда я вызываю setTimeout в расширении Firefox? Есть ли когда-нибудь условие, при котором несколько обратных вызовов могут выполняться одновременно?
Мое расширение Firefox содержит массив URL-адресов, с которых я хочу сделать скриншоты. Мое расширение открывает 5 вкладок и устанавливает URL-адреса этих вкладок в качестве первых 5 URL-адресов в массиве. После завершения загрузки страницы на вкладке N я хочу подождать 30 секунд, сделать снимок экрана, а затем извлечь следующий URL из массива и загрузить его на вкладке N. Процесс повторяется до тех пор, пока список URL не станет пустым.
Как я могу быть уверен, что каждый URL обрабатывается ровно один раз? Если бы я писал это в Java, я бы просто синхронизировал все обращения к своему списку URL. Как я могу добиться этого в расширении Firefox?