Алдар
браузер же должен в каком то потоке выполнять запросы
Serhii
Браузер не написан на жс
Oleg
А браузер работает в ОС и т.д.
_
В том же делает, если сделать синхронный запрос то весь единственный поток замрет
Serhii
Потому и нет в жс асинхронности
Serhii
Кек
Anonymous
внеочередные незавершенные вызовы
Anonymous
:D
Oleg
Асинхронность выражается ещё и в том что система не ждет пока там по сети всё пройдет и вернется назад, а делает следующее действие
Serhii
Кстати, а кто то исследовал веб воркеры на предмет выноса в них реактивной логики?
Oleg
Вот про это не стоит забывать
Alexei
JS - однопоточен (почти)
Serhii
Воистину
Алдар
но все эти события прилетают из других потоков или процессов
Алдар
браузер посылает запрос в другом потоке
Алдар
принимает ответ, и создает событие
Алдар
которое уже потом выполняется в жс потоке
Anonymous
нужно кресты видимо знать, чтобы яснее видеть всю картину
Алдар
поэтому асинхронщина без многопоточности невозможна
Oleg
Некоторые говоря о JS говорят только о JS, а некоторые берут сразу браузер и прочее окружение. Так что стоит уточнять а о чем речь.
Алдар
другое дело что просто многопоточность скрыта от глаз жсеров
Алдар
Anonymous
Anonymous
😂
Алдар
Serhii
На жс?
Алдар
на крестах
Oleg
Алдар
яндекс
Anonymous
Дима
Anonymous
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
https://developers.google.com/v8/
описания достаточно
Oleg
Alexei
Бред, где бы ты не участвовал
Сообщество js - довольно своеобразно)) кажется, тут каждый считает других полными идиотами. А самого себя Д'Артаньяном.
Serhii
Добро пожаловать
Dreamerinnoise
Anonymous
я не считаю всех идиотами, а только себя
Anonymous
D:
Alexei
В этой группе пока что уровень взаимного хамства зашкаливает :) ну до бог с ним
Дима
Node js изначально работал вообще исключительно в одном потоке
Dreamerinnoise
http://exploringjs.com/es6/ch_async.html#ch_async_ref_1
Items 2–4 are tasks that run JavaScript code, via the engine built into the browser. They terminate when the code terminates. Then the next task from the queue can be executed. The following diagram (inspired by a slide by Philip Roberts [1]) gives an overview of how all these mechanisms are connected.
http://exploringjs.com/es6/images/async----event_loop.jpg
Serhii
В жаваскрипте нету строгих типов, и строгих разработчиков
Serhii
Sergey
Есть 1 (один) Event Loop. Еще есть в браузере новомодные Web Workers. По-моему больше добавить нечего
Алдар
все это он делает вне потока того где выполняется жс код и крутится эвент луп
Дима
Anonymous
Алдар
когда браузер принимает ответ, то он из другого потока постит те коллбеки которые повешены на событие ответа по аджакс запросу
Дима
Браузер
Дима
Node js изначально работал вообще исключительно в одном потоке
Алдар
да, браузер
Bogdan
Что-то после пиара во всяких говнопабликах всюду читаю "да вы тут все хамы, еще и мат пишете, ну ваще, вас бы всех забанить!111"
Дима
Как этот факт вписывается в твою картину ?
Bogdan
это к посту выше о хамстве
Дима
Serhii
Но отсутствие тредов в жс это же фича а не баг?
Алдар
Алдар
в андроиде например можно создавать свои эвент лупы
Алдар
в разных потоках
Алдар
и постить сообщения
Алдар
из одного эвент лупа в другой)
Алдар
в жс просто сделали один эвент луп
Алдар
бай дизайн
Алдар
и один поток соответственно
Anonymous
сделали бы два
Anonymous
:D
Алдар
https://developer.android.com/reference/android/os/Looper.html
Алдар
https://developer.android.com/reference/android/os/Handler.html
Дима
... поэтому, когда у тебя срабатывает колбек через не определённое время после запуска, когда все работает в event loop - это поведение не асинхронное 👍 Оок
Dreamerinnoise
Dreamerinnoise
Dreamerinnoise