Задать вопрос
skapunker
@skapunker
Умный

Будут ли клиенты обслужены в Node, если один из клиентов в ожидании?

Всем привет! Подскажите пожалуйста, как поведет себя node в таком случае.
Есть телеграм бот и в определенный момент, выполняется такая функция.

module.exports = async function (bot, message) {
await new Promise(resolve => setTimeout(resolve, 4000));
}


Ее смысл заключается в том, чтобы взять таймаут в 4 сек.
Если во время таймаута, другой пользователь обратится к боту, node его обслужит?
Или будет ждать пока таймаут закончится?

Вопрос задаю потому что где то вычитал что node однопоточный.
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Да, другие клиенты будут обслужены.

Нода однопоточная, но setTimeout не блокирует поток. Вот если вы все эти четыре секунды будете что-нибудь в этом потоке считать, тогда Нода не сможет ответить на другой запрос, потому что будет занята.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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