Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обернуть <script> в try{} catch(){} (https://javascript.ru/forum/misc/1388-obernut-script-v-try%7B%7D-catch-%7B%7D.html)

Андрей Параничев 07.07.2008 13:52

Обернуть <script> в try{} catch(){}
 
У меня возникла интересная идея, но я почти уверен, что сделать задуманное невозможно.

JavaScript ведь однопоточный язык, вся асинхронность, в конечном итоге, реализована лишь в "внедрении" в общий поток вызовов методов и выполнения кода. Получается, что при динамическом подключении элемента <script> код, который находится в нем, тоже будет выполняться, внедряясь в общий поток. Но выполнение кода из этого скрипта будет происходить в любом месте программы? Или только по выходу из управляющих конструкций/функций? Возможно ли, например, заставить выполниться такой код внутри конструкции try-catch и словить вывод?

Если нет, то значит возможно реализовать синхронное выполнение кода из <script>, просто задерживая выполнение кода, например, в цикле, ожидая окончания загрузки тега <script>? Или код, подгруженный в элементе script вовсе будет выполняться, хоть и в общем потоке, но невзирая на локальные области видимости и управляющие конструкции?

Kolyaj 07.07.2008 22:26

Цитата:

Сообщение от Андрей Параничев
значит возможно реализовать синхронное выполнение кода из <script>

А опера его и так синхронно выполняет :).

Андрей Параничев 08.07.2008 19:27

Так, а обработать такой код, который был "вставлен" в общий поток в конструкции try-catch, можно?


Часовой пояс GMT +3, время: 21:52.