Size: a a a

Node.js — русскоговорящее сообщество

2019 October 31

JD

John Doe in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
но почему так? где про это почитать можно? ведь нода одно поточная
В Node.js в один поток работает только js код. Остальный задачи работают в несколько потоков. Допустим у тебя есть функция myFunc которая отрабатывает за 1 мин. И есть сервис myService, к которому ты отправляешь http запросы. Этот сервис отвечает 2 мин.
Теперь допустим ты отправил 3 http запроса подряд на myService, и в качестве callback’a повесил myFunc. Поскольку пока мы ждём ответ от myService, то поток отпечающий за исполнение js кода не занят и в это время могут вызваться другие callback’и.
Допустим 2 мин прошло и все наши 3 callback’а myFunc должны сработать. Вот здесь как раз  из-за однопоточного исполнения js кода, параллельности не будет. Сначала исполнится один callback(1 мин), потом второй(1 мин) и потом третий (1 минута) и в итоге исполнение callback’ов займёт 3 минуты

Естественно сам myService должен параллельно обрабатывать http запросы. Но это уже не проблема Node.js, а проблема myService

Надеюсь так понятнее стало
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
так стало понятней, но стал неясен плюс от promise all
источник

JD

John Doe in Node.js — русскоговорящее сообщество
Для дальнейшего изучения можешь это видео посмотреть
https://youtu.be/8aGhZQkoFbQ
источник

JD

John Doe in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
так стало понятней, но стал неясен плюс от promise all
А что тебе конкретно неясно?
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
John Doe
А что тебе конкретно неясно?
основы js
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
3 минуты у тебя займут запросы с промисом, 3 минуты без
источник

KL

Kirill "Loskir" 🍏16+14 Loskutov in Node.js — русскоговорящее сообщество
Yaroslav Zhymkov
основы js
не душни
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
говорит понятно, повторяет, что и до
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
сходите почитайте доку/асинхроность
источник

YZ

Yaroslav Zhymkov in Node.js — русскоговорящее сообщество
что время отнимать то
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
я может не так понял, если promise all выполнит паралельно запросы, тогда вызов с ним должен занять времени меньше, чем паралельные запросы, потратив время на последовательный запуск колбека ведь?
источник

KL

Kirill "Loskir" 🍏16+14 Loskutov in Node.js — русскоговорящее сообщество
Kirill "Loskir" 🍏16+14 Loskutov
почему в разных директориях видны разные глобальные пакеты? от чего зависит?
в первом случае не видно вообще ничего, во втором все нормально. куда копать? права доступа, владельцы?
источник

KL

Kirill "Loskir" 🍏16+14 Loskutov in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
я может не так понял, если promise all выполнит паралельно запросы, тогда вызов с ним должен занять времени меньше, чем паралельные запросы, потратив время на последовательный запуск колбека ведь?
если ты запишешь
promise1() // 1 мин
promise2() // 1 мин
promise3() // 1 мин
то они все выполнятся через 1 мин.
Promise.all([promise1(), promise2(), promise3()]) 
только поможет тебе получить все 3 результата вместе
источник

JD

John Doe in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
я может не так понял, если promise all выполнит паралельно запросы, тогда вызов с ним должен занять времени меньше, чем паралельные запросы, потратив время на последовательный запуск колбека ведь?
Promise.all сам по себе не вносит никакой особенности в параллельное исполнение. Это просто более удобный метод для ситуации, когда тебе нужно вызвать один callback после того  как все задачи отработали.
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
John Doe
Promise.all сам по себе не вносит никакой особенности в параллельное исполнение. Это просто более удобный метод для ситуации, когда тебе нужно вызвать один callback после того  как все задачи отработали.
вот так стало вроде понятнее, спасибо
источник

JD

John Doe in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
вот так стало вроде понятнее, спасибо
Ты можешь сам написать такую же функцию. Просто из-за частой надобности её сделали частью стандарта
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
да, я хотел сделать, что бы понятней было
источник

RS

Roman Sribnyi in Node.js — русскоговорящее сообщество
всем привет. Ребят, советните удобные тулзы для быстрого создания доки)
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Bogdan Shelomanov
вот так стало вроде понятнее, спасибо
Небольшое уточнение - если в Promise.all хоть один из промисов упал, то все остальные прерываются. Если нужно дождаться именно выполнения всех промисов, то юзать нужно allSettled
источник

BS

Bogdan Shelomanov in Node.js — русскоговорящее сообщество
Artem Zuev
Небольшое уточнение - если в Promise.all хоть один из промисов упал, то все остальные прерываются. Если нужно дождаться именно выполнения всех промисов, то юзать нужно allSettled
это я прочитал уже
источник