209 похожих чатов

Await Promise.all([ query('seletc * from 'users;'), query('seletc * from 'users;'), query('seletc * from

'users;'),
query('seletc * from 'users;'),
query('seletc * from 'users;'),
])

запросы в базу, куда они пойдут после того как выбросяться из основного nodejs приложения?

6 ответов

21 просмотр

а чо промисс олл тут делает. у тебя промис как резолвиться будет от базы данных?

Как у тебя резолвятся промисы?

в воздух

В сокеты ОС, в epoll. Поэтому они не ограничены размером libuv threadpool = 4. Можешь отправлять 5+ одновременно.

Node.js использует асинхронную модель выполнения, которая позволяет ему обрабатывать множество задач параллельно, не блокируя основной поток выполнения. Как Node.js выполняет такие задачи параллельно, особенно в контексте Promise.all: 1. Event Loop и Non-Blocking I/O: - Node.js основан на модели событийного цикла (Event Loop), которая позволяет ему эффективно управлять асинхронными операциями, такими как запросы к базе данных. - Все операции ввода-вывода (I/O) в Node.js по умолчанию являются неблокирующими. Это означает, что когда Node.js выполняет такие операции, он не останавливает выполнение остального кода. 2. Асинхронные Операции: - Когда асинхронная операция (например, запрос к базе данных) запускается, Node.js регистрирует её и продолжает выполнять остальной код. - После того как операция завершена (например, данные получены от базы данных), результат помещается в очередь событий. 3. Event Loop Обработка: - Event Loop постоянно проверяет очередь событий на наличие завершенных асинхронных операций. - Как только операция завершена, соответствующий обработчик (например, функция обратного вызова) вызывается для обработки результата. 4. Promise.all: - Promise.all принимает массив промисов и возвращает новый промис. - Он запускает все промисы в массиве параллельно. В контексте Node.js это означает, что каждый запрос к базе данных инициируется без ожидания завершения других запросов. - Когда все промисы успешно разрешаются, Promise.all разрешается с массивом результатов каждого промиса. - Если хотя бы один промис отклоняется, Promise.all также отклоняется. 5. Параллелизм vs. Параллельное Выполнение: - Хотя Node.js может обрабатывать множество асинхронных операций параллельно, это не означает, что они выполняются именно в параллельном режиме в терминах многопоточности. - Node.js сам по себе однопоточен, но он эффективно управляет асинхронными операциями, используя неблокирующий ввод-вывод и событийный цикл.

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

Обсуждают сегодня

Карта сайта