Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 August 23

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Сергей Булах
Всем привет,  разбираюсь с event loop и есть вопрос как и на каком этапе происходит запрос к ядру например на чтение файла, не на вызов калбэка, а именно на начало чтения подскажите плиз
источник
2020 August 24

IG

Ivan Granat in NodeUA - JavaScript and Node.js in Ukraine
@tshemsedinov поделитесь пожалуйста конфигом MC.
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Здравствуйте, подскажите пожалуйста, как Promise.all() работает ‘внутри’. В poll фазе ивент лупа очередь ведь исполняется синхронно. Тогда Promise.all просто итерируется по порядку по массиву до первого реджекта/ последнего ресолва?
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Здравствуйте, подскажите пожалуйста, как Promise.all() работает ‘внутри’. В poll фазе ивент лупа очередь ведь исполняется синхронно. Тогда Promise.all просто итерируется по порядку по массиву до первого реджекта/ последнего ресолва?
Это не фича ноды, Promise.all - часть жс
https://tc39.es/ecma262/#sec-promise.all
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Здравствуйте, подскажите пожалуйста, как Promise.all() работает ‘внутри’. В poll фазе ивент лупа очередь ведь исполняется синхронно. Тогда Promise.all просто итерируется по порядку по массиву до первого реджекта/ последнего ресолва?
если коротко то да, только не итерируется до первого, а вешает листенеры на все и ждем пока все зарезолвятся или кто то зареджектиться
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Denys
если коротко то да, только не итерируется до первого, а вешает листенеры на все и ждем пока все зарезолвятся или кто то зареджектиться
Я знал что апи промиса, не часть апи ноды, но все же исполняться может и в ноде. Спасибо за ответ, вроде понял
источник

NK

ID:0 in NodeUA - JavaScript and Node.js in Ukraine
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Я знал что апи промиса, не часть апи ноды, но все же исполняться может и в ноде. Спасибо за ответ, вроде понял
Event loop регистрирует Promise.all , исполняет его LibUV, в 4 потока (это thread pool libUV по умолчанию), поэтому он действительно итерируется, но батчами по 4 шт. Когда все готово, он возвращает результаты в таком же порядке (под теми же индексами)
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Alexander Zakharov
Event loop регистрирует Promise.all , исполняет его LibUV, в 4 потока (это thread pool libUV по умолчанию), поэтому он действительно итерируется, но батчами по 4 шт. Когда все готово, он возвращает результаты в таком же порядке (под теми же индексами)
Разве thread pool может работать с Promise.all? Насколько помню он может исполнять только адаптированные под плюсы «тяжелые» модули типо crypto, zlib, fs
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Разве thread pool может работать с Promise.all? Насколько помню он может исполнять только адаптированные под плюсы «тяжелые» модули типо crypto, zlib, fs
Ему все равно, тяжелые или нет.
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Alexander Zakharov
Ему все равно, тяжелые или нет.
Ну хз, я чекнул доку по ивентлупу, там такого нету, хотя она давно не обновлялась, так что все может быть, надо тестить:)
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Ну хз, я чекнул доку по ивентлупу, там такого нету, хотя она давно не обновлялась, так что все может быть, надо тестить:)
я чуть  с ума не сошел пока изучал нодовский ивентлуп. в итоге один тип на тостере мне все разжевал, но я один черт через месяц все забыл. решил что потом повторю при необходимости
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Ну хз, я чекнул доку по ивентлупу, там такого нету, хотя она давно не обновлялась, так что все может быть, надо тестить:)
LibUV это не event loop https://m.habr.com/ru/post/336498/
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Alexander Zakharov
LibUV это не event loop https://m.habr.com/ru/post/336498/
Либ юв же реализует edp ивент луп для ноды, как webAPI для браузера, не так?
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Либ юв же реализует edp ивент луп для ноды, как webAPI для браузера, не так?
Да, он много чего делает и event loop тоже. Корректнее event loop это только часть libuv
источник

AS

Anton StebeLski in NodeUA - JavaScript and Node.js in Ukraine
Alexander Zakharov
Event loop регистрирует Promise.all , исполняет его LibUV, в 4 потока (это thread pool libUV по умолчанию), поэтому он действительно итерируется, но батчами по 4 шт. Когда все готово, он возвращает результаты в таком же порядке (под теми же индексами)
а что значит батчами по 4 штуки?
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
1
я чуть  с ума не сошел пока изучал нодовский ивентлуп. в итоге один тип на тостере мне все разжевал, но я один черт через месяц все забыл. решил что потом повторю при необходимости
Да это даже интересно и полезно, просто когда многое спрятано - приходиться по крупицам выискивать, что-то вроде как правильное(было), а сейчас устаревшее, что-то находишь где-то в качестве чьих-то рассуждений, приходиться узнавать у других, и складывать свою картину.
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Alex Kostyniuk
Да это даже интересно и полезно, просто когда многое спрятано - приходиться по крупицам выискивать, что-то вроде как правильное(было), а сейчас устаревшее, что-то находишь где-то в качестве чьих-то рассуждений, приходиться узнавать у других, и складывать свою картину.
и все пишут и рассказывают по разному
источник

AZ

Alexander Zakharov in NodeUA - JavaScript and Node.js in Ukraine
Anton StebeLski
а что значит батчами по 4 штуки?
Ну вот у тебя 10 чтений файлов, а потоков 4. Сколько будет итераций? Простая математика.
источник

AK

Alex Kostyniuk in NodeUA - JavaScript and Node.js in Ukraine
Anton StebeLski
а что значит батчами по 4 штуки?
Там 4(а можно кастомить, до 128 вроде) треда.
источник