У меня есть функция которая создаёт клон элемента вставляет/вычисляет ширину и отдаёт коллбеком.
Три последние строчки:
body.append(clone);
let cloneWidth = document.querySelector('.clone').offsetWidth;
callback(cloneWidth);
Проблема в том что в коллбэк приходят неверные данные ширины.
Клон довольно большой/вложенный у меня есть догадки о том что он просто полностью не успевает отрендерится.
Данную проблему решает callback внутри setTimeout со значением 0;
Прочитав ответы на стэковерфлоу с гугл переводчиком, ответа о том правильно ли это вообще я не нашёл.
Усердно прошу господина/госпожу объяснить мне в чем дело такого поведения js и правильности использования setTimeout 0;