Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   приостановка for (https://javascript.ru/forum/misc/33910-priostanovka.html)

RAZVOR 13.12.2012 20:11

приостановка for
 
Здравствуйте быстро нужен ответ, как приостановить for до прихода ответа через ajax на jquery, потом for надо продолжить.
Зарание спасибо

DjDiablo 13.12.2012 20:21

как остановить падение с 30го этажа, пока снизу котлован не выкопают и не наполнят его водой ?
Вот и с циклом такая же проблема.

решение не падать с 30го этажа, а пойти по лестнице

Твоя лестница здесь: http://learn.javascript.ru/settimeout-setinterval

RAZVOR 13.12.2012 20:36

DjDiablo,
я только с помощью цикла могу разобрать массив, есть другие варианты?

lord2kim 13.12.2012 20:43

RAZVOR, соберите необходимые данные в массив и отправьте после цикла

RAZVOR 13.12.2012 20:47

неполучится, тогда в цикле небудет смысла.

DjDiablo 13.12.2012 21:15

Цитата:

я только с помощью цикла могу разобрать массив
Да ну нафиг. а чем это тебе не цикл ?

count=0;
f=function(){
   alert (count);
   if ( (count++) <5) setTimeout(f, 1);
}

f();

RAZVOR 13.12.2012 21:35

DjDiablo,
а как с помощью такого разобрать примерно такое {some: {1: 'sc' ,6:'scq'},ser:{1:'sc'} }?

DjDiablo 13.12.2012 21:35

пардон небольшая дурь пришла в голову.
что то типо уневерсального асинхронного 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;
});

godofjavascript 13.12.2012 21:42

JSON.parse


ушел пить пиво

DjDiablo 13.12.2012 21:45

разобрать 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
какая задача такое и решение ))))))


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