Плюхи для облегчения творчества на БАС

Запросы функционала
  • @olegtut said in Плюхи для облегчения творчества на БАС:

    Кто-то знает как начистую реализовать таймаут цикла while в универсальном модуле? Напишите в комментах.

    -проверяем доступность элемента
    -если нет, то спим секунду

    в сам цикл while пишем следующее

    [[IS_EXIST]] != true && [[CYCLE_INDEX]] < 60
    

    это если не более минуты на ожидание

  • @Daniel said in Плюхи для облегчения творчества на БАС:

    @olegtut said in Плюхи для облегчения творчества на БАС:

    Кто-то знает как начистую реализовать таймаут цикла while в универсальном модуле? Напишите в комментах.

    -проверяем доступность элемента
    -если нет, то спим секунду
    в сам цикл while пишем следующее
    [[IS_EXIST]] != true && [[CYCLE_INDEX]] < 60

    это если не более минуты на ожидание

    Ну тогда уж по твоей версии правильнее так:

    ![[IS_EXIST]] && [[CYCLE_INDEX]] < 60
    

    Или так:

    [[IS_EXIST]] !== true && [[CYCLE_INDEX]] < 60
    

    Где гарантия что проход по циклу while обязательно равен секунде, с учётом, что и там у меня могут быть условия или код? Например, в твоем коде мы в цикле проверяем отсутствие элемента, но обязательно должно юзаться действие внутри цикла для перепроверки, не появился ли элемент снова, да и перед while придется перепроверить существование элемента, иначе БАС может просто не зайти в цикл. А если таких элементов у меня 20?
    Это косвенный и не совсем точный метод выявления таймаута, наиболее верный - это разница между последним временем и самым первым. Но вот тут и возникает загвоздка для универсального модуля.

  • @olegtut, а в чем проблема? Можно сделать так например:

    var timeout = 5; //минуты
    var maxTime = Date.now() + 60000 * timeout;
    
    while(true){
    	if(Date.now() > maxTime){
    		fail('TIMEOUT');
    	};
    	
    	//действия
    };
    
  • @GhostZ said in Плюхи для облегчения творчества на БАС:

    а в чем проблема? Можно сделать так например:

    @olegtut said in Плюхи для облегчения творчества на БАС:

    P.S.: "выполнить код" не предлагать :)

  • @olegtut, это и действиями можно сделать

  • @olegtut, в модуль Cycle добавил таймаут для всех циклов

  • @olegtut скрытие комментариев нужно, но не по умолчанию, а на выбор. чтобы осталась и текущий вид, ну и как возможно скрыть экшены в if например, также и коммент чтобы можно было скрывать

  • @olegtut said in Плюхи для облегчения творчества на БАС:

    Или так:
    [[IS_EXIST]] !== true && [[CYCLE_INDEX]] < 60

    != not equal x != 8
    !== not equal value or not equal type x !== 5

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

    @olegtut said in Плюхи для облегчения творчества на БАС:

    Где гарантия что проход по циклу while обязательно равен секунде

    тогда вместо секунду добавить код:

    var ms = 100;
    
    await (new Promise((resolve, reject) => {
        setTimeout(function(){
            resolve()
        }, ms);
    }));
    

    и уже задержку можно изменять в ms. Знаний в js тут не надо, для того, чтоб быстро исправить значение задержки. Так же и внутри проекта, один раз вставил и разнес кубик по всем точкам, где он необходим.
    Я вопрос понял так: как при ожидании элемента через цикл while выйти по достижении определенного таймаута?
    Решение выше. И тут максимум добавляется задержка в секунду, если через кубик "спать", либо управляемая задержка, через "выполнить код"

  • @GhostZ said in Плюхи для облегчения творчества на БАС:

    @olegtut, в модуль Cycle добавил таймаут для всех циклов

    огромнейшее спасибо за подобный модуль! Я так понимаю, он сделан нестандартными средствами БАС?

  • @olegtut, модуль использует функции которые уже есть в BAS, поэтому его можно просто закинуть в папку modules и в скомпилированных скриптах всё будет работать, также его можно использовать для создания своих модулей из функций

  • 0 Votes
    3 Posts
    431 Views
  • 0 Votes
    5 Posts
    522 Views
  • 0 Votes
    5 Posts
    621 Views
  • 0 Votes
    3 Posts
    670 Views
  • -2 Votes
    34 Posts
    7491 Views