Я абсолютно абстрагирован, и говорю что для решения race condition в NodeJS нужно использовать блокировки, если речь не о работе с бд, то для этого используется distributed lock, редлок с редисом это один из возможных вариантов. Ваше решение - не решение, так как оно не работает реальном мире, где никто не крутит сервисы на ноде в одном инстансе
Кстати в яваскрипте нет параллельных вызовов метода. Все вызовы в этом языке последовательные, подменяете понятия и ещё больше запутываете читателя.
Но и логично что в данном случае это не возможно, в примере я кидал документ где таблица растягивается из за переноса строк и двигает остальной контент
Не обратил внимание сразу, но выглядит как то не очень, ячейка по логике должна растягиваться.
Выглядит как поиграться, не для боевых задач.
Посмотрите связку каких ни будь шаблонизаторов для doc или docx и конвертируйте через openoffice в headless, рабочая схема.
Вот боевой пдф с текущего проекта, как тут без переноса строки быть? никак
Как альтернатива генерируйте документ в html и сделайте pdf папетиром
А что делать с полями которые могут стать многострочными, скажем юридический адрес или еще что то такое?
«ул. Тверская д. 7 к 3. Москва» влезет а вот «ул. Героев Освободителей д. 3 к.3 стр. 4 кв. 7 посёлок городского типа Краснозатонский, городской округ Сыктывкар, Республика Коми» как быть?
Спасибо, интересная статья. А можете разъяснить момент по скрину с кодом? В требованиях к вакансиям уровень английского должен быть высоким, плюс, как я помню, у вас руководство требует вести деловую переписку на английском, а почему комментарии в коде на русском?
У меня такой хук называется useSdk =)
а по загрузку несколько скриптов там просто так делать
useSdk(id, url)
const exists = document.getElementById(id);
if (exists) return resolve();
Ждем статью как вы загнули ножки на цпу
Выглядит сложно, используйте редлок)
Пример не про race condition а про понимание как работают промисы
А комментарии автор что ли может отклонить?) Вот это новость
Как, если не секрет, тут прикрутить пабсаб?
Я абсолютно абстрагирован, и говорю что для решения race condition в NodeJS нужно использовать блокировки, если речь не о работе с бд, то для этого используется distributed lock, редлок с редисом это один из возможных вариантов. Ваше решение - не решение, так как оно не работает реальном мире, где никто не крутит сервисы на ноде в одном инстансе
Кстати в яваскрипте нет параллельных вызовов метода. Все вызовы в этом языке последовательные, подменяете понятия и ещё больше запутываете читателя.
Лучше напишите как работают промисы и эвент луп
Вы даёте заведомо неправильное решение, даже маленький проект в проде будут запускать минимум с пм2 в кластер моде, для чего тогда ваше решение?
Комментарий с примером кода почему то отклонили...
Вопрос такой, как вы будете решать задачу когда нода будет запускаться не в одном инстансе?
Не легче сразу прикрутить redlock если используете редис для Кеша? Ваше решение явно не production ready
Но и логично что в данном случае это не возможно, в примере я кидал документ где таблица растягивается из за переноса строк и двигает остальной контент
Выглядит как поиграться, не для боевых задач.
Посмотрите связку каких ни будь шаблонизаторов для doc или docx и конвертируйте через openoffice в headless, рабочая схема.
Как альтернатива генерируйте документ в html и сделайте pdf папетиром
«ул. Тверская д. 7 к 3. Москва» влезет а вот «ул. Героев Освободителей д. 3 к.3 стр. 4 кв. 7 посёлок городского типа Краснозатонский, городской округ Сыктывкар, Республика Коми» как быть?
Их тоже разбить на половинки) бинарный поиск же