Всем привет
Недавно начал изучать Node.js. Сейчас делаю небольшой генератор инвойсов с помощью puppeteer. Сначала на одной странице вводятся данные в поля textarea и есть вспомогательные кнопки для генерации,. При нажатии кнопки "Generate", я забираю при помощи фронтендового скрипта введенные данные и отправляю ajax-ом на сервер (Node.js). На стороне сервера через fs модуль создаю новый html-файл, уже без вспомогательных кнопок.
После этого, при переходе (пока нужно набирать самостоятельно в поисковой строке) на localhost:3000/create, я вывожу в браузер новый html-файл (уже без кнопок) под названием invoice.html. Там же эмичу событие 'toPdf', которое в браузере при помощи пакета
opn
открывает адрес localhost:3000/generate.
Все что происходит при запросе адреса localhost:3000/generate, это эмит события 'generatePdf', который непосредственно и преобразовывает страницу invoice.html в pdf и выводит при помощи пакет
opn
этот файл в браузер.
Проблема вот в чем: когда эмитится событие 'toPdf', адрес localhost:3000/generate открывается 2 раза, после чего открывается сгенерированный pdf-файл. И все бы ничего, но потом окна с /generate и pdf-файлом начинают открываться без остановки, что как бы не есть хорошо. И остановить поток открывающихся окон можно только остановкой сервера. Не могу понять в чем проблема.
Ниже оставляю код, если у кого-то есть идеи как эту проблему исправить - буду благодарен.
Ссылка на код:
https://pastebin.com/QSeL6QcK