Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 March 24

IB

Il Bu in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
экспроприация экспроприаторов не есть догма, товарищи
в группе у нас не угнетение ради угнетения, а дискриминация - только на научной основе
Немцы тоже на научной основе дискриминировали. Потом признали что ошибались. Или вы исключаете вероятность собственной неправоты?
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Под оно что имеется в виду?
setImmediate
источник

DN

Dmytro Nechai in NodeUA - JavaScript and Node.js in Ukraine
Ребят, давайте заканчивать с метасрачем.
Обсуждайте программирование. Есть открытый вопрос о таймингах, присоеденить лучше к нему.

Если вам считаете важным высказаться по поводу идеологие, вступить теологическую или философскую дисскусию у нас есть https://t.me/joinchat/TDeAxHUvzhSpCQis.
Там вам будут рады, и вы не будете никому мешать заниматься технологическими вопросами.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Oleh Diian
setImmediate
Отложить выполнение на следующий тик же
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Отложить выполнение на следующий тик же
ну описание я понимаю, просто если такое повидение, то как-то странно
источник

AM

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

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Alexey M
я вот тоже думал что это больше технический чат, но пришлось пролистывать 1000мессаг метасрача
По моим наблюдениям такое тут редко, тебе просто не повезло
источник

IB

Il Bu in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Nechai
Ребят, давайте заканчивать с метасрачем.
Обсуждайте программирование. Есть открытый вопрос о таймингах, присоеденить лучше к нему.

Если вам считаете важным высказаться по поводу идеологие, вступить теологическую или философскую дисскусию у нас есть https://t.me/joinchat/TDeAxHUvzhSpCQis.
Там вам будут рады, и вы не будете никому мешать заниматься технологическими вопросами.
Ты серьезно сейчас? У вас в закрепе оскорбление огромной группы любителей тайпскрипта
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Alexey M
Товарищи профи в ноде, объясните пожалуйста вот этот момент

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).

For example, if we run the following script which is not within an I/O cycle (i.e. the main module), the order in which the two timers are executed is non-deterministic, as it is bound by the performance of the process:

// timeout_vs_immediate.js
setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});
$ node timeout_vs_immediate.js
timeout
immediate


$ node timeout_vs_immediate.js
immediate
timeout
нету setTimeout(..., 0) в действительности.
там если 0 ставиться 1.
И тут зависит от производительности твоего компа. Успеть ли луп пройти цыкл за 1 ms или нет если упеет то immediate будет первым если нет то timeout будет первым

block = delay => { now = Date.now(); while(Date.now() - now < delay) {} }

setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});


block(100)

всегда будет таймаут первый
источник

Dd

Dmitry darkdim in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
каждый для своего, вот тс очень подходит для того, чтобы майкрософт его свернул в трубочку и засунул туда, откуда он виндовс вынул
но-но, виндовс не трожь)) я на нем убунту вертел;)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
нету setTimeout(..., 0) в действительности.
там если 0 ставиться 1.
И тут зависит от производительности твоего компа. Успеть ли луп пройти цыкл за 1 ms или нет если упеет то immediate будет первым если нет то timeout будет первым

block = delay => { now = Date.now(); while(Date.now() - now < delay) {} }

setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});


block(100)

всегда будет таймаут первый
Как всё просто оказалось 👍
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
нету setTimeout(..., 0) в действительности.
там если 0 ставиться 1.
И тут зависит от производительности твоего компа. Успеть ли луп пройти цыкл за 1 ms или нет если упеет то immediate будет первым если нет то timeout будет первым

block = delay => { now = Date.now(); while(Date.now() - now < delay) {} }

setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});


block(100)

всегда будет таймаут первый
4 ms вроде)
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
но идею понял
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
нету setTimeout(..., 0) в действительности.
там если 0 ставиться 1.
И тут зависит от производительности твоего компа. Успеть ли луп пройти цыкл за 1 ms или нет если упеет то immediate будет первым если нет то timeout будет первым

block = delay => { now = Date.now(); while(Date.now() - now < delay) {} }

setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});


block(100)

всегда будет таймаут первый
Круть! Обычно это обьясняется лунным циклом, или временем дня, или по звездам. А всё так просто)
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Oleh Diian
4 ms вроде)
источник

AM

Alexey M in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Drachov
нету setTimeout(..., 0) в действительности.
там если 0 ставиться 1.
И тут зависит от производительности твоего компа. Успеть ли луп пройти цыкл за 1 ms или нет если упеет то immediate будет первым если нет то timeout будет первым

block = delay => { now = Date.now(); while(Date.now() - now < delay) {} }

setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});


block(100)

всегда будет таймаут первый
а где иминно "там" ? где это можно проверить?
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
хм, я почемуто запомнил 4мс
источник

DD

Dmytro Drachov in NodeUA - JavaScript and Node.js in Ukraine
Сорян за фотку, забыл что можно
https://github.com/nodejs/node/blob/master/lib/internal/timers.js#L176
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Il Bu
Немцы тоже на научной основе дискриминировали. Потом признали что ошибались. Или вы исключаете вероятность собственной неправоты?
Если мы исключим вощможность неправоты то не сможем дискриминировать на научной основе
источник

OD

Oleh Diian in NodeUA - JavaScript and Node.js in Ukraine
а вот где я прочитал
Браузер ограничивает 4-мя мс минимальную задержку между пятью и более вложенными вызовами setTimeout, а также для setInterval, начиная с 5-го вызова.

https://learn.javascript.ru/settimeout-setinterval#setinterval
источник