@sergerdn через Object.defineProperty тоже пробовал, не искались элементы. Но попробую твой вариант.
Ну а смысл топика изначально в том, чтобы дать возможность через кубик подмены передавать свою функцию, раз такой функционал есть все равно.
КОММЕНТАРИИ:
Добавить возможность комментировать else, а не только if. Бывает такое, что скрипт огромный и else и if находятся друг от друга на дальнем расстоянии, которое уходит за поле видимости экрана. Если еще и учесть, что там могут быть вложенные условия, то читаемость кода ухудшается в разы, поэтому было бы неплохо дать возможность комментировать и еlse.
Сделать систему отображения комментариев более удобочитаемой. Это нагромождение элементов комментирования и в без того маленьком кубике визуально убивает рабочее пространство: номер id, горизонтальная черта коммента, сам коммент. Почему бы не вынести комментарии, как в поля ввода для функций, где есть мини кружочек со знаком вопроса внутри, при наведении на который отображается подробная инфа. Либо что-то другое, более юзабельное, но пока что это смотрится очень громоздко, особенно при плотном скрипте с обильными комментариями, тем более если комментарий и многострочный к тому же.
УСЛОВИЯ
ШАБЛОНЫ ВСТАВКИ
@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 выйти по достижении определенного таймаута?
Решение выше. И тут максимум добавляется задержка в секунду, если через кубик "спать", либо управляемая задержка, через "выполнить код"