приостановка for
Здравствуйте быстро нужен ответ, как приостановить for до прихода ответа через ajax на jquery, потом for надо продолжить.
Зарание спасибо |
как остановить падение с 30го этажа, пока снизу котлован не выкопают и не наполнят его водой ?
Вот и с циклом такая же проблема. решение не падать с 30го этажа, а пойти по лестнице Твоя лестница здесь: http://learn.javascript.ru/settimeout-setinterval |
DjDiablo,
я только с помощью цикла могу разобрать массив, есть другие варианты? |
RAZVOR, соберите необходимые данные в массив и отправьте после цикла
|
неполучится, тогда в цикле небудет смысла.
|
Цитата:
count=0; f=function(){ alert (count); if ( (count++) <5) setTimeout(f, 1); } f(); |
DjDiablo,
а как с помощью такого разобрать примерно такое {some: {1: 'sc' ,6:'scq'},ser:{1:'sc'} }? |
пардон небольшая дурь пришла в голову.
что то типо уневерсального асинхронного doWhile цикла //пример обьявления function $doWhile(mem,f){ var iterator=function(){ if ( f(mem) ) setTimeout(iterator, 1); } iterator(); } //пример использования $doWhile({i:0},function(m){ alert(m.i); return (m.i++)<5; }); |
JSON.parse ушел пить пиво |
разобрать JSON через parse всё верно.
а перебрать обьект можно и таймером, если получить список ключей массивом Object.keys(obj), затем брать по одному значению в массиве и использовать его как ключ к обьекту. Способ проще в голову пока не приходит var obj ={some: {1: 'sc' ,6:'scq'},ser:{1:'sc'} }; var key=Object.keys( obj ); alert(key); alert(key.length); alert ("сейчас мы переберём обьект, внутри должно быть два обьекта. Значит мы увидим два алерта"); //пример обьявления function $doWhile(mem,f){ var iterator=function(){ if ( f(mem) ) setTimeout(iterator, 1); } iterator(); } //пример использования $doWhile({i:0},function(m){ alert(obj [ key[m.i] ] ); return (m.i++)<key.length-1; }); Чото пиздец какойто :D какая задача такое и решение )))))) |
Цитата:
|
спасибо. Почти то что надо но ведь json отет может идти разное время, неужели нельзя без intervalов?
|
Циклы работают от начала и до конца, если их непрервать break. а если прервёш то уже невернёшся к тому месту на котором прервался.
Опиши задачу подробнее, наверняка можно решить задачу и без извращений с циклами. |
КОД НА ЯВАСКРИПТЕ работает от начала и до конца максимально моментально на соклько это возможно. КЭП
|
Цитата:
Надеюсь вам поможет понять насколько неудачная у вас реализация. |
Цитата:
Цитата:
|
оу, я приятно удивлен - впервые вижу на форуме вопрос про continuation!
реализовать такую вещь можно и без дополнительных костылей - генераторы - т.е. оператор yield. Правда, он появился только в JavaScript версии 1.7 |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 15:49. |