Согласен, и для подсказок тоже можно сделать большое поле, а то сейчас нужно копировать - редачить - вставлять
Плюхи для облегчения творчества на БАС
-
@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?
Это косвенный и не совсем точный метод выявления таймаута, наиболее верный - это разница между последним временем и самым первым. Но вот тут и возникает загвоздка для универсального модуля. -
@GhostZ said in Плюхи для облегчения творчества на БАС:
а в чем проблема? Можно сделать так например:
@olegtut said in Плюхи для облегчения творчества на БАС:
P.S.: "выполнить код" не предлагать :)
-
@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 выйти по достижении определенного таймаута?
Решение выше. И тут максимум добавляется задержка в секунду, если через кубик "спать", либо управляемая задержка, через "выполнить код" -