JavaScript функции setTimeout () и setInterval () иногда не работают - PullRequest
0 голосов
/ 02 августа 2020

Мое собственное расширение Google Chrome перестает работать через некоторое время, потому что setTimeout () в некоторых случаях не работает.

Следовательно, фоновый сценарий не отправляет сообщение в сценарий содержимого после некоторой необходимой задержки .

Я обнаружил эту проблему, написав множество операторов console.log ().

В качестве решения я подумал об использовании setInterval () до тех пор, пока сообщение не будет отправлено в сценарий содержимого :

var timer = setInterval(function() {
  clearInterval(timer);
  // Sending a message to the content script
}, 3000);

Мой код до, во время и после setInterval () тихий, поэтому я надеюсь, что этого фрагмента кода как-то хватит.

Кто-нибудь знает в В каких случаях эти тайм-ауты или интервалы не запускаются?

Или есть какие-то похожие варианты, которые я мог бы использовать?

Я подумал об использовании Chrome Вместо этого используется API сигналов тревоги, но сигналы тревоги могут использоваться только раз в минуту, а минимальная задержка составляет одну минуту, если я не ошибаюсь.

1 Ответ

0 голосов
/ 02 августа 2020

Я никогда не сталкивался с проблемой, когда setinterval или settimeout перестают работать. Думаю, в вашем коде может быть проблема. Если вы уверены в ошибке, вам следует создать демонстрационный проект и сообщить об ошибке на github.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...