Помогите Важно
fuction INITDATA(data){
if(data.response){ myvar ='CAT'; } } alert(myvar); как тут передать мне вар учитывая что запрос data.respone несразу приходит? мб callback какойнибь итд? |
проблема грубо говоря ав том что Компиляция не умеет ждать. а надо заставить под мой запрос ждать
компиляция побежала компилировать код.. добежала до моего if(data.response){ - он кинул вверх мячь.. (запрос и ждет когда обратно полетит) а компиляция Дальше побежала. так вот ей надо сказать стоп и жди его data.response |
если бы это было правдой я бы битой отфгачил компиляцию чтобы она научилась ждать сука
|
function readydata (readymyvar) { alert(readymyvar); } function initdata (data) { if (data.response) { myvar = 'cat'; readydata(myvar); } } |
блин допишу код
html += '<div>'; fuction INITDATA(data){ if(data.response){ myvar ='CAT'; } } html += myvar'; - вот здесь не передается html += '</div>'; |
Спасите меня кто нибудь аааааа
|
Если нужно ждать, пока data.response не станет true, вставьте перед if:
while(!data.response){ void(""); } |
Цитата:
html = '<div>'; INITDATA() html += myvar; // - таки передается html += '</div>'; alert(html); function INITDATA(data) { myvar ='CAT'; } В твоём, даже таком маленьком огрызке есть ошибки синтаксиса... |
Цитата:
html = '<div>'; (function (data) { myvar ='CAT'; })(); html += myvar; // - таки передается html += '</div>'; alert(html) |
а где имя функц INITDATA????????
|
в если так
html = '<div>'; INITDATA() html += myvar; // - таки передается html += '</div>'; alert(html); function INITDATA(data) { myvar ='CAT'; } то выйдет ошибка где переменная if(data.response){ |
Цитата:
|
сайт ужасно после этого зависает почему?
|
есть кто инбудь кто готов посмотреть по тим виер и помочь решить проблему?(
|
Виснет, потому что предложенный вариант как раз и тормозит компиляцию, загружая браузер важным делом (выполнение void("")) на время, пока data не true. Чтобы было асинхронно, используйте AJAX (здесь я не смогу помочь, увы). Как вариант, чтобы не тормозило, можно попробовать так:
var html; var wData=setTimeOut(INITDATA, 500, data); function INITDATA(data) { if (data.response) { clearTimeout(wData); myvar = 'CAT'; html += 'myvar'; } } Здесь проверка происходит не непрерывно, а раз в полсекунды. Важно: переменная html должна быть глобальна. |
кажется я разобрался со своей проблемой. - ВСЕМ КТО ПРИНЯЛ В ПОМОЩИ МНЕ УЧАСТИЕ СПАСИБО БОЛЬШОЕ . ДЛЯ МЕНЯ ЭТО НЕОПИСАТЬ КАК МНОГО ЗНАЧИЛО
|
GuardCat,
+10000000000000 |
Часовой пояс GMT +3, время: 08:01. |