Задать вопрос
@brainplus

Как ожидать инициализации в nodejs при обработке первого запроса?

Есть сервер на nodejs. При старте ему надо читать данные из разных источников, это занимает несколько секунд.

Хочется чтобы он начал слушать порт сразу при старте, а при обработке первого запроса чтобы он ждал пока закончится инициализация. Чтобы клиенты для отваливались из-за того что на порту никто не слушает..

Сейчас код вот такой и сервер начинает слушать запросы только после этой долгой инициализации long_init_operation():
long_init_operation(); //выполняется 2-5 секунд
const app = express();
app.get('/api/blah', async (req, res) => {
   //do someting
    res.statusCode = 200;
    res.end();
})
app.listen(3005, () => { })


как переписать код чтобы сервер начал слушать порт сразу же, и ждал окончания long_init_operation() при обработки первого запроса?

Спасибо за ответы заранее!
  • Вопрос задан
  • 21 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@historydev Куратор тега JavaScript
Mistkerl, drück den Knopf.
Установи флаг который будет отражать готов сервер к работе или нет, а пока он готовится, например редирект на страницу Х с информацией мол сервер подготавливается.
- Иначе не запускай его вовсе, что логичнее, ведь он не способен ничего обработать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы