Я провел много исследований по моему вышеупомянутому вопросу, так как ответа не было, поэтому в конце концов нашел правильное решение моей проблемы. Таким образом, ответ, которым я собираюсь поделиться, не является прямым ответом на вышеупомянутый вопрос, но общее решение, которое я искал во-первых. Признаюсь, я не поделился всей своей проблемой, я просто пытался быстро исправить препятствие на моем пути в предыдущем подходе.
Я хотел периодически обновлять свою веб-страницу, используя маркер доступа, срок действия которого истекает после сеанса. В моем предыдущем подходе я использовал backend для обработки обеих задач, получая токен с сервера аутентификации, а также обновлял свою веб-страницу. Итак, я загрузил html из бэкэнда и подумал о том, чтобы каждый раз обновлять его новыми значениями, поэтому я смог очистить его, обновить и получить новую страницу, готовую к работе. Однако каждое обновление было неудачным из-за сбоя методов res.send () или res.writeFile () с сообщением об ошибке «Err: заголовки уже установлены, заголовки не могут быть снова установлены».
Итак, я посмотрел на свою архитектуру и понял, что было бы возможно разделить задачи между внешним и внутренним интерфейсом. Таким образом, страница обновлялась сценарием внешнего интерфейса каждый раз с использованием токена, передаваемого бэкэндом, бэкэнд получал свежий токен до истечения сеанса и передавал его во fronend с помощью socketio. Существует несколько способов передачи значений между fronend и backend, но я считаю, что это намного удобнее, и мы также можем использовать пользовательские события.
Итак, урок, который я извлек из этого, заключается в том, что «когда проблема настолько необычна, пересмотрите свою архитектуру».
Надеюсь, этот пост поможет кому-то в подобной ситуации.