@nodejs_ru

Страница 1114 из 2748
Lulz
21.08.2017
05:25:04
а то приложение падает с maximum call stack size

Zaur
21.08.2017
05:38:56
а то приложение падает с maximum call stack size
Похоже что у тебя приложение где то уходит в рекурсию

Таймураз
21.08.2017
05:43:23
А ещё в этой функции нет смысла

Google
Ilgiz
21.08.2017
05:44:11
я так для примера

Таймураз
21.08.2017
05:45:16
Не нужно на всё подряд вешать ключ async

Ilgiz
21.08.2017
05:45:43
я на всякие вешаю вдруг пригодиться

черем переписывать если нужен будет

Таймураз
21.08.2017
05:46:30
Если нужно будет переписать- перепишешь А так- ты только замедляешь исполнение синхронного кода

Если у тебя будет много запросов- они все медленнее отработают Ты исполнение вполне банальных вещей растягиваешь во времени Смена контекста и тд происходит довольно быстро, но все равно проседание на нагрузках будет заметным

Да даже без нагрузки со сложной бизнес логикой разница будет заметна

Если взять абстрактный пример, в котором у тебя выполняется 100 вызовов функций синхронных, то только на промисах ты теряешь от 20мс на каждый запрос

Ilgiz
21.08.2017
05:53:08
Спасибо буду иметь ввиду

Petr
21.08.2017
06:23:51
Привет всем, во время сборки минифицируете нодовские файлы?

arts
21.08.2017
06:24:29
А смысл?

Petr
21.08.2017
06:26:52
Вообще нет его просто чтобы одной сборкой за раз все сделать

arts
21.08.2017
06:36:50
А что ты подразумеваешь под сборкой?

Google
Zaur
21.08.2017
06:37:59
А что ты подразумеваешь под сборкой?
node.min.js ? (простите, не удержался)

Petr
21.08.2017
06:41:58
Да уже спрашивали, ну типо во время сборки клиентского js, захватить серверный без склейки кшн и в папку с билдом положить

Vitaly
21.08.2017
06:42:53
А смысл?

arts
21.08.2017
06:46:38
Если не юзаешь es6 import'ы, серверный код в сборке вообще не нуждается.

Vitaly
21.08.2017
06:50:10
В пакете мог опечататься, но что-то похожее

arts
21.08.2017
06:51:32
Есть и babel/register, но в прод такое пускать не хочется.

Ilgiz
21.08.2017
08:09:56
Почему этот код будет выполняться не асинхронно? forEach же возвращяет элемент колбеком, а колбек попадает в event loop let a = [1, 2, 3, 4, 5]; a.forEach(elem=>{ console.log(elem) })

Konstantin
21.08.2017
08:11:04
forEach ничего не возвращает

Ilgiz
21.08.2017
08:11:52
forEach ничего не возвращает
forEach же возвращяет элемент колбеком ты с этим не согласен?

Konstantin
21.08.2017
08:12:17
не согласен, конечно )

Sergey
21.08.2017
08:12:49
Не всякий колбек колбекается ассинхронно

Konstantin
21.08.2017
08:12:57
forEach выполняет функцию для каждого элемента массива. Возвращает _ничего_

Sergey
21.08.2017
08:14:07
почему?
Потому что для ассинхронности нужно что то более чем вызов синхронной функции в цикле

Konstantin
21.08.2017
08:14:18
почему?
А должен? )

Ilgiz
21.08.2017
08:14:28
forEach выполняет функцию для каждого элемента массива. Возвращает _ничего_
получается он будет ждать каждый элемент пока он выполниться?

Sergey
21.08.2017
08:14:39
+

Ilgiz
21.08.2017
08:15:08
можете скинуть исходник forEach как он работает

Google
Ҫѐҏӗѫӑ
21.08.2017
08:16:57
каллбеки не обязаны выполняться асинхронно

для асинхронности нужен ввод-вывод

Konstantin
21.08.2017
08:17:33
можете скинуть исходник forEach как он работает
Например, так: Array.prototype.forEach = function(callback) { for (var i = 0; i < this.length; i++) callback(this[i], i, this); };

Ilgiz
21.08.2017
08:18:58
для асинхронности нужен ввод-вывод
можете примером показать асинхронный колбек и не асинхронный?

Ҫѐҏӗѫӑ
21.08.2017
08:19:09
выше неасинхронный

Ilgiz
21.08.2017
08:19:33
я думал все функции при вызове попадают в event loop

Sergey
21.08.2017
08:21:24
функции да, но не все они выполняются асинфхронно

например если у тебя математика внутри функции, то она будет выполняться асинхронно и залочит event loop

Ҫѐҏӗѫӑ
21.08.2017
08:23:54
што

Sergey
21.08.2017
08:24:12
разве не так?

Sergey
21.08.2017
08:25:22
даже я не понял что это значит)

Sergey
21.08.2017
08:26:03
ну это значит что данная функция влюбом случае попадет в event loop, но при выполнение залочит его

Konstantin
21.08.2017
08:26:25
Парни, никакой магии в ноде нет. Не нужно пытаться усложнить, придумывая, что нода каким-то магическим образом определяет, что функция асинхронная, или что в ней есть математика, и таким образом включает или не включает её в евент-луп.

Sergey
21.08.2017
08:26:35
Звучало так будто математика задала асинхронность функции)

Sergey
21.08.2017
08:27:43
я некоректно выразился

насколько я знаю любая функция попадает в event loop, по другому она просто не выполнится

Парни, никакой магии в ноде нет. Не нужно пытаться усложнить, придумывая, что нода каким-то магическим образом определяет, что функция асинхронная, или что в ней есть математика, и таким образом включает или не включает её в евент-луп.

просто если в вашей функции есть синхронные операции, то пока они не выполнятся у вас движок будет занят выполнением этих операций

Nikolay
21.08.2017
08:32:04


Sergey
21.08.2017
08:32:52
почему?

Google
Ilgiz
21.08.2017
08:33:53
почему?
потому что он будет ждать пока очишется стэк

Nikolay
21.08.2017
08:34:16


вот здесь уже асинхронно, потому что попадает в event loop

Ilgiz
21.08.2017
08:35:21
без сэттайма можете показать мне асинхронный код

Nikolay
21.08.2017
08:35:23
даже если setTimeout 0 секунд

Ilgiz
21.08.2017
08:37:27
есть стэк even loopa который берет и пушет на стэк js

Egoarka
21.08.2017
08:38:17
Че..?...

Vitaly
21.08.2017
08:38:35
вот здесь уже асинхронно, потому что попадает в event loop
Евент луп, если перевести с буржуйского - цикл. Где тут асинхронность?

Ilgiz
21.08.2017
08:39:45
setInterval
и без этой хуйни

Nikolay
21.08.2017
08:40:07
Евент луп, если перевести с буржуйского - цикл. Где тут асинхронность?
after вывелось раньше всех, но в коде вызов делается позже всех

Vitaly
21.08.2017
08:40:11
fs.readFile

Nikolay
21.08.2017
08:40:14


Egoarka
21.08.2017
08:40:29
Ох, парни, тут просто треш в чате начинаете, лучше всем остановится, либо прочитать мат. часть

Vitaly
21.08.2017
08:41:00
https://www.youtube.com/watch?v=8aGhZQkoFbQ

Sergey
21.08.2017
08:41:08
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/

Konstantin
21.08.2017
08:41:22
Эх, опередил =)

http://latentflip.com/loupe/

Sergey
21.08.2017
08:41:32
Event Loop Explained - там все описано кратко + удобная картинка

Google
Sergey
21.08.2017
08:42:37
там кстати и ответ, почему без сет таймаута такой порядок вывода в примере выше

Ilgiz
21.08.2017
08:43:10
https://www.youtube.com/watch?v=8aGhZQkoFbQ
именно после просмотра этого видео у меня был этот вопрос

тут не твоя функция асинхронная в fs.readFile

Konstantin
21.08.2017
08:43:32
https://youtu.be/8cV4ZvHXQL4?t=19m58s - вот про твой форич

тут не твоя функция асинхронная в fs.readFile
Именно после просмотра этого видео ты должен был понять, что в JS нет асинхронных функций

Ilgiz
21.08.2017
08:44:56
вызов функции

всегда вся обсуждение упирается на то что все пихают мне setinterval settimeout

Vitaly
21.08.2017
08:47:54
а что тогда асинхронно?
реализация ее на сишечке в ноде(точнее в либюви), если говорить о fs.readFile

Vlad
21.08.2017
08:48:29
Луп типа решает, кто будет выполнятся, а код гоняется V8-interpreter

Ilgiz
21.08.2017
08:48:59
Че..?...
вот я это имел ввиду

main-stack

Egoarka
21.08.2017
08:49:55
тогда вот тебе уточнение

Ҫѐҏӗѫӑ
21.08.2017
08:50:01
Vlad
21.08.2017
08:50:05
Луп типа смотрящего в камере, а всю грязную работу делает либо Генсек параши (V8), либо зашквареные (libuv)

Egoarka
21.08.2017
08:50:05
>node js event loop queue

>https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/

никакой там не стек, а очередь

Vlad
21.08.2017
08:50:37
>node js event loop queue
ты путаешь

Страница 1114 из 2748