Как ограничить количество повторов?

Поддержка
  • Если через "игнорировать ошибку" какой то процес зациклен, можно как то ограничетить количество повторов? Нужен простой способ, добавлять +1 в переменную это не подходит, не хочу засорять скрипт. Или как то можно ограничить максимальную длительность выполнения сценария? Это бы тоже могло решить проблему, но везде ставить проверку времени, это конечно так же не подходит, нужно простое решение.

  • @Andrey550 cycle_index

  • Выше написали про CYCLE_INDEX.
    В любом цикле (for, while, foreach) есть встроенный счетчик [[CYCLE_INDEX]]. Он автоматически увеличивается с каждой итерацией (повтором). Без него цикл, в принципе, был бы невозможен.

    Допустим есть бесконечный цикл while (или любой другой цикл):

    while (true) {
      Любая логика скрипта...
    }
    

    Нужно прервать цикл на 20 повторе, пишем условие и прерываем скрипт командой "Break". Как скрипт дойдет до условия if и [[CYCLE_INDEX]] будет равняться 20, цикл прервется:

    while (true) {
      if ( [[CYCLE_INDEX]] === 20 ) {
        Break
      }
      Любая логика скрипта...
    }
    

    Условие можно любое писать, можно не использовать [[CYCLE_INDEX]], а вместо этого проверять, допустим равняется ли какая-нибудь переменная тому-то и если равняется, то прервать цикл Break'ом.

    Это я в стиле JavaScript'а написал. В BAS точно так же делаешь этими же блоками (Цикл - while, условие - if, прервать цикл - Break).

    А вообще если определенное количество повторов нужно, то лучше использовать цикл For. Там повторений столько, сколько ты написал.

  • @SecDeveloper спасибо за информацию. Если не сложно, не могли бы вы показать на примере, возьмем загрузка страницы зацыклена через игнорировать ошибку, что туда добавить что бы попыток было не больше 10. Я то смысл понимаю, хочеться сделать максимально красиво и компактно.

  • @SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX

  • @Andrey550 said in Как ограничить количество повторов?:

    @SecDeveloper в "игнорировать ошибку" нету CYCLE_INDEX

    5e0074da-4aa6-4ff4-ab59-5c3981739fc1-изображение.png

    Скрипт: 2128.xml

  • 0 Votes
    1 Posts
    353 Views
  • 0 Votes
    1 Posts
    346 Views
  • 0 Votes
    4 Posts
    927 Views
  • -1 Votes
    6 Posts
    1114 Views
  • 0 Votes
    9 Posts
    2251 Views