Egor
ну на уровне v8
Egor
вм
Так
https://medium.com/@gaurav.pandvia/understanding-javascript-function-executions-tasks-event-loop-call-stack-more-part-1-5683dea1f5ec
Так
Пойду купаться короче
Anonymous
Егорочка все ещё упирается?
Egor
ну ты вообще за main stack упирался
Egor
а main stack он на уровне v8 получается, который бы на плюсах был
Egor
по факту переполнение такого стека порушил ноду навсегда
Anonymous
ага
Anonymous
что значит на уровне v8?
Egor
Вася первый кто сказал нормальную вещь
Anonymous
Вася сказал то же, что и я
Anonymous
Что там - стек вызовов
Egor
ты вообще не то сказал
Anonymous
Ну это ясное дело
Anonymous
X: там стек вызовов Y: нет Z: там стек вызовов Y: Вот Z норм сказал, а X - долбоеб
ikasymov
:d
Dmitry
как собрать ноду в один файл ? Юзаю вебпак. Не находит ресолвы
Dmitry
такое говно
Egor
X: там стек вызовов Y: нет Z: там стек вызовов Y: Вот Z норм сказал, а X - долбоеб
сначала речь шла об event loop'е, но ты зачем-то влез в разговор и видимо все пошло не по тому пути
ikasymov
Kons
Можно, конечно
ikasymov
callback при вызове попадает в event loop?
Kons
callback при вызове попадает в event loop?
Приведи пример колбека
ikasymov
или он отработает функции на js main stack не доезжая до event loopa?
ikasymov
Приведи пример колбека
function a(callback){ callback('value') } a(value=>{ console.log(value) })
Dmitry
https://www.youtube.com/watch?v=8aGhZQkoFbQ
ikasymov
если до колбека будет некая логика которая займет 10 секунд то что будет?
Kons
Я думаю, что тебе не место в этом чате.
Kons
Напоминает логику 6-летнего ребенка :)
Dmitry
ну на уровне v8
видос глянь. ТАм крайне понятно про евент луп. В v8 тоже самое что и в браузере. ТОлько место браузер api там либы написаные на c++
Kons
Без этих либ можно ли написать асинхронный код на ноде?
Извини, Дима Шеломанов не знает ответ на этот вопрос. В видосе про это ничего не было )))
Vladimir
Дима в бане
Kons
Дима в бане
Спасибо, Владимир.
Так
Лол
ikasymov
Просто я вывел вывод с видео выше что не сам js асинхронен а движок слева на схеме, в случае web js это web api, в нашем это хромовский движок
Так
Парни, есть же оф дока
Так
Там написано более чем понятным языком
Так
https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/
Так
Про ивент луп
Kons
Дима в бане
И раз уж ты зашёл. Я видел, что ты был в рабочей группе по промисам. Можешь сказать, выполняется ли код внутри .then асинхронно или нет? Как это реализовано внутри?
Vladimir
ДА. выполняется асинхронно
Vladimir
Примерно так же, как nextTick
Anonymous
Anonymous
Т.е. “попадет” - не совсем то.
Anonymous
CB попадет в message_queue, откуда его поместит в stack-выполнения EventLoop. Но сделает это лишь тогда, когда нечего будет выполнять в stack’е
Anonymous
классчисеский вопрос по этой теме - почему вот такой код: comsole.log(“start”) setTimeout(() => {log(‘setTimeout’)}, 0) comsole.log(“end”)
Anonymous
Выведется все равно же start -> end -> setTimeout
Anonymous
Хотя указали 0.
ikasymov
я это знаю:D
Anonymous
Потому что сперва выполняется весь код из index.js
ikasymov
я вообще не про это
Anonymous
Так?
Anonymous
А
Anonymous
Я не понял вопроса?
ikasymov
все примеры асинхронного кода делаеться сторонными методами вроде этого settimeout,promise,setinterval и т.д, И вопрос был выше что обычный колбек при вызове сперва попадает в call stack и выполняется и на этом все стэк пуст, то есть он работает синхронно.Получаеться мы пишем асинхронный код с помощю методов движка V8 или же web api тот же в видео. Сам движок js не асинхронен он просто по call стэку берет и выполняет
Anonymous
Ага, я понял тебя
Anonymous
Интересно
Anonymous
Ща
ikasymov
Я раньше думал как, callback это и есть асинхронность то есть при вызове колбека то он делается асинхронно, то есть мы вызвали функцию он где то там работает и при заверщение просто вызывает колбек который возвращяет нужные нам данные.
ikasymov
Сегодня посмотрел видео и обсуждение тут и понял что это не так
Anonymous
а если мы пишем свою функци, принимающую коллбэк и она нативная
Anonymous
ее же не надо отдавать в libuv
Anonymous
вот тут хз, надо проверить
Denis
ну жс то однопоточный
Denis
вызов колбека асинхронен, но исполнение всего этого дерьма то в один поток
Anonymous
Да вопрос не в этом
Anonymous
так че
Anonymous
сделай так
Anonymous
Start -> cb -> end
Anonymous
выведется так же?
Anonymous
Принти просто