Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 December 05

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
1
ну , она явно не идеальна. значит недостаточно подробно раскрыли тему, раз такие казусы
Написали же, что порядок не определён
Ты попробовал запускать код в цикле? Я не уверен, но может это тебе поможет наблюдать разный порядок
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
1
Нулевая задержка , он должен быть уже готовым . одному докладчику написал, тот тоже не вкуривает почему так происходит
У вас помимо пары строчек кода мало того, что в самой ноде много чего происходит, так еще есть 100500 программ вне ноды, которые влияют на систему. Ну и наверняка у вас динамически меняется частота процессора от нагрузки.
Так же этот порядок будет зависить от ОС которую вы юзаете, т.к. под капотом происходит много "магии", которая использует системные вызовы.
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
запускал в цикле из 100 итераций. 50 раз таймеры выполнились , 50 раз setimediate
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Все это легко гуглится и найти подробное описание почему и как это происходит очень просто https://github.com/nodejs/help/issues/392
источник

Г

Глеб in NodeUA - JavaScript and Node.js in Ukraine
Чтобы колбек попал в очередь обработки, его сперва нужно зарегистрировать. Момент, когда регистрация происходит, может наступать после того, как текущий виток событийного цикла миновал фазу таймеров и добавил в структуру данных этого витка соответствующую функцию обратного вызова. На очередность, с которой это все происходит, влияет то, что происходит в вашей системе в целом, не только в самом коде приложения
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
1
запускал в цикле из 100 итераций. 50 раз таймеры выполнились , 50 раз setimediate
Это даже в доках описано The order in which the timers are executed will vary depending on the context in which they are called. If both are called from within the main module, then timing will be bound by the performance of the process (which can be impacted by other applications running on the machine).
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Глеб
Чтобы колбек попал в очередь обработки, его сперва нужно зарегистрировать. Момент, когда регистрация происходит, может наступать после того, как текущий виток событийного цикла миновал фазу таймеров и добавил в структуру данных этого витка соответствующую функцию обратного вызова. На очередность, с которой это все происходит, влияет то, что происходит в вашей системе в целом, не только в самом коде приложения
колбэк по истечению времени таймера, переносится в другую фазу для выполнения ? елси нет, почему он не выполняется , когда луп входит в его фазу ?
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Это даже в доках описано The order in which the timers are executed will vary depending on the context in which they are called. If both are called from within the main module, then timing will be bound by the performance of the process (which can be impacted by other applications running on the machine).
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout
это понятно, я читал и эту статью и перевод. мне интересна причина такого поведения
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
1
это понятно, я читал и эту статью и перевод. мне интересна причина такого поведения
там всё описано в мельчайших подробностях и с примерами кода
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Alexander
там всё описано в мельчайших подробностях и с примерами кода
там написано , что порядок не детерминирован . что там происходит и почему может фаза таймеров с готовым уже колбэком просто так пропуститься , там не сказано
источник

A

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

1

1 in NodeUA - JavaScript and Node.js in Ukraine
спасибо. переведу и изучу )
сорян за глупые вопросы , всем спасибо за внимание
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
А еще если очень внимательно изучить сеттаймауты, то можно найти что
setTimeout(, 0) === setTimeout(, 1)
источник

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Alexander
А еще если очень внимательно изучить сеттаймауты, то можно найти что
setTimeout(, 0) === setTimeout(, 1)
да, видимо не успевает колбэк зарегистрироваться . чем больше читаю ишю, тем больше вопросов возникает .
источник
2020 December 06

1

1 in NodeUA - JavaScript and Node.js in Ukraine
Все я понял причину недетерминированного поведения . Всем спасибо ))
источник

V

Van Der Graaf Genera... in NodeUA - JavaScript and Node.js in Ukraine
Кто какую библиотеку использует для парсинга аргументов командной строки на TypeScript? И используете ли вообще?
источник

F

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

EG

Evgeniy Gromin in NodeUA - JavaScript and Node.js in Ukraine
Vlad Skrygun
так?


``` перед текстом і після
или выделить текст и ctrl+shift+M
источник

j

john john in NodeUA - JavaScript and Node.js in Ukraine
народ подскажите как остановить Twitter stream
не закрывая сервер
stream.destroy()
останавливает stream но при этом падает сервер
источник

j

john john in NodeUA - JavaScript and Node.js in Ukraine
я использую Twitter npm package
источник