приостановка 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, время: 04:49. |