Каковы все способы восстановить контроль над потоком выполнения в JavaScript? - PullRequest
0 голосов
/ 04 мая 2011

Я пытаюсь перечислить точки входа из браузера в код JavaScript. Это включает в себя первоначальное выполнение сценария (тривиальный пример) и все способы восстановления контроля над основным потоком выполнения после его освобождения.

  • начальное выполнение скрипта
  • прослушиватели событий, когда они не запускаются программно (Node.addEventListener, DOMWindow.addEventListener, XMLHttpRequest.addEventListener, все object.oneventname атрибуты)
  • setTimeout
  • setInterval

Есть ли другие, которые я должен рассмотреть?

(Для любопытных: смысл этого заключается в том, чтобы обернуть все точки входа в блоки try...catch, чтобы в iOS * можно было регистрировать и регистрировать ошибки в пределах UIWebView. Но это должна быть полезная общая информация. )

1 Ответ

1 голос
/ 04 мая 2011

Веб-работники - это еще один механизм, который может инициировать обратные вызовы.

Некоторые браузеры выполняют кросс-фреймовые вызовы функций в цикле событий фрейма, создавшего функцию.Другие используют один цикл обработки событий для всех кадров, где это возможно благодаря политике одного источника.Хотя я не знаю про iOS.

Например

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