У меня есть библиотека, которая создает пользовательский интерфейс с использованием Javascript, и из-за задействованного динамического контента я иногда хочу разместить контент в браузера, проверьте, как макет был изменен для поддержки этого, а затем выполните другую логику в зависимости от результата. Например: определить, не переполнен ли какой-то текст, и усечь его многоточием.
Обычно я реализую это путем внесения изменений, а затем с помощью window.setTimeout (0), чтобы дождаться обновления макета и вызвать остальную часть логика. Это явно неоптимально, так как разные браузеры могут реализовать минимальный тайм-аут, который слишком медленный, чтобы предотвратить мерцание, или более быстрый, который использует много ресурсов процессора.
В идеале я хотел бы внести изменения в DOM, а затем принудительно обновить макет синхронно и сразу же запустить логику «исправления». Есть идеи?