AJAX и одновременное выполнение скриптов

SiZE

Новичок
AJAX и одновременное выполнение скриптов

Всем привет.

Проблема: есть две функции на javascript, с применением AJAX, menu() и text(). По событию <body onLoad="menu();text();"> ничего не происходит. По отдельности, например, <body onLoad="menu();">, функции возвращают необходимые данные на страницу. Используется библиотека XHConn. Проблема лечится <body onLoad="menu();seTimeout(text(),1000);">, но такой вариант решения проблемы напрягает т.к. текст появляется с задержкой.

Именно функция text() вызывается всего на одной странице, а menu() на всех. Городить все в одну функцию очень не хочется, получится грамоздско. Функция menu() выводит на странице древовидное меню, при клике на раздел меню, без перезагрузки страницы, мы можем открыть вложенную структуру меню. Функция text() работает подобным образом только позволяет менять некоторые выведенные позиции местами без перезагрузки всей страницы.

Вопрос: можно ли заставить выполнятся эти два скрипта одновременно?
 

dimagolov

Новичок
MiRacLe, ты действительно "просто Чудо".

SiZE, JS язык однотредовый, то есть в каждый конкретный момент может выполняться один блок кода. Из этого вывод - если какой-то блок кода для выполнения должен ждать результатов другого и они суть асинхронные (то есть нельзя сделать прямой вызов одного из другого), то никакого другого решения кроме чего-то типа такого нету:
Код:
function DoSomething (MyParam) {
if (!bGlobalDataReadyFlag) {
   setTimeout(function () { DoSomething (MyParam); }, 50);
   return;
}
// Process Data here
}
 

MiRacLe

просто Чудо
dimagolov, обидеть наверное хотел? нахал!
Прочесть вопрос надо полностью (не слова по-отдельности, а прямо взять и прочесть целиком все предложения).
Синхронность-асинхронность, есть жизнь на Марсе, нет жизни на Марсе - науке пока неизвестно.
А автору вопроса даром "тредовость" была не нужна - нужен результат по завершению загрузки страницы. И его вполне устроит вариант последовательного выполнения обеих функций, проблема - "текст появляется с задержкой". А чтобы выяснить чего именно не хватает второй функции для успешного выполнения сразу после первой необходима ОТЛАДКА.
 

dimagolov

Новичок
MiRacLe, ни в коем случае, просто инфо прикольное у тебя, впрочем как и ник :)
Согласись, что ему приведенный мной метод написания ассинхронных но зависимых ф-й будет полезнее, чем втыкание по форуму в поисках методов отладки. А понимание однотредовости тоже стоит прямо дать вместо ответа "можно" на вопрос "можно ли заставить выполнятся эти два скрипта одновременно?", потому что автор ведь не методы отладки будет искать в результатах поиска, а методы превращения JS в мультитредовый язык :(
 
Сверху