подробнее посоветуете?
Что в вашем понимании значит "параллельность"? Параллельность чего по отношению к чему?)
Насколько я понял от меня хотят, чтобы два запроса - А и Б - отправились вместе и если А готов, то вернулся результат не дожидаясь запроса Б, как то так
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any
"отправлялись вместе" - это такое, очень неточное требование :) JavaScript в event loop никогда не выполняется по настоящему параллельно :)
Да, я вот сейчас как раз уточняю :) Сам не очень понял
Ну вот то, как там будет выполняться javascript на какой-то платформе и как в нем реализованы разные, связанные с платформой апи - это дело исключительно платформы. Например, функция setTimeout может использовать какой-то код, который будет выполняться в отдельном треде, который может выполняться параллельно с основным тредом, а может и не параллельно :)
В общем как выяснилось цель, с которой нужно параллельно запросы выполнять в том, что они вроде как эффективнее, но не знаю почему
Ну да, меньше времени тратится
Отправка запросов это часть event-loop, он их отправляет?
Браузер предоставляет функции типа fetch для того, чтобы из Js можно было инициировать отправку запроса, функции эти вызываются синхронно, как и обычные, то есть в рамках ивент лупа это обычный вызов на стеке вызовов. Но под капотом у этой функции fetch своя магия, которую реализует уже платформа и эта реализация выходит за рамки even loop-а. Запрос выполняется уже платформой.
А сколько там всего запросов будет?
Аа, вот оно как, не знал, спасибо :) Это ещё нужно осознать
То есть от меня требуют невозможного 🤔
Просто часто люди используют слово "параллельно" вкладывая в это какой-то свой странный смысл) От вас в задании, скорее всего, хотят Promise.any как я до этого и писал, просто задание сформулировано не корректно)
Promise.any как я прочитал, вернёт первый из массива промисов, а которые не успели fulfills, то они уже и не нужны видимо А вот .all() как раз про все промисы не забывает
Да, вопрос почему вы решили, что что либо будет происходить параллельно?)
А разве не будет? Ну например в хроме, чтоб быть конкретным
Но что если у вас одноядерный процессор?) Параллелизм вообще невозможен, тем не менее будут продолжать работать все те же воркеры, треды, процессы и все такое :) Так что гарантировать параллелизм можно только на уровне системного программирования где-то там 😁
Ну я понимаю, я просто для себя понять хочу, если у пользователя многоядерный проц и современный браузер, то запросы пойдут параллельно?
Не знаю, для этого надо хорошо знать как устроен движок)
Обсуждают сегодня