Если не загрузился элемент - вернуться в начало цикла



  • Есть цикл while. Если внутри цикла не загрузился элемент на странице, как можно начать следущий цикл?



  • @justabot Проверить существование и с помощью if



  • Через Игнорировать ошибки загружаешь элемент.
    Далее в IF

    [[WAS_ERROR]] == true
    

    и break



  • Спасибо. А если нужно повторить тот же цикл? Тот же [[CYCLE_INDEX]] еще раз



  • @justabot тогда continune , цикл продолжится



  • Чет не то делаю: цикл while, делаю внутри
    0_1495052060673_upload-467ebc7d-bee8-4d59-b16f-cd9ae3cf23b3

    После того как элемент не появился, скрипт зависает навсегда на if.



  • Короче я нуб и неясно изъясняюсь... Под следущим циклом я понимал следущую иттерацию.
    Вобщем понял, следущая иттерация - команда continue.
    А как заново повторить иттерацию?
    Например, сайт лагнул, элемент не загрузился, нужно в точности то же самое повторить.



  • @justabot

    А как заново повторить иттерацию?

    Сделать еще 1 цикл внутри, либо переделать цикл в метки.



  • @support said in Если не загрузился элемент - вернуться в начало цикла:

    Сделать еще 1 цикл внутри, либо переделать цикл в метки.

    В прошлый раз нашел обходное решение, сейчас опять вопрос всплыл.

    Объясните пожалуйста чуть подробней: какой цикл можно сделать внутри? И как переделать в метки?

    Я пытаюсь сделать так:

    For 1 to 100
    поставить метку
    -действие-
    if was_error == true
    вернуться к метке

    В таком случае после перехода на метку выполняется только одна иттерация, затем цикл завершается



  • @justabot Отказывайся от меток, у них стек слетает при входе в цикл. Проще нужное действие завернуть в функцию:

    Функция test
       -действие-
    
    For 1 to 100
       вызов функции test
    if was_error == true
       вызов функции test
    

  • Banned

    обещали работу с метками в цикле поправить
    http://community.bablosoft.com/topic/2275/go-to-label-внутри-цикла



  • ТС, гугли рекурсия, в басе ее можно организовать с помощью функции. Можно еще метками, назад возвращаться, ими проще, но учти, что метки не работают внутри циклов и функций, по причине того что при переходе по метке сбрасывается стек информации о заходе в цикл/функцию.



  • @Samael_96 Уже не сбрасывается


Log in to reply