skapunker
@skapunker
Умный

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

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

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


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

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

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

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

Войти через центр авторизации
Похожие вопросы