Алдар
браузер же должен в каком то потоке выполнять запросы
Serhii
Браузер не написан на жс
Oleg
А браузер работает в ОС и т.д.
_
В том же делает, если сделать синхронный запрос то весь единственный поток замрет
Anonymous
но без многопоточности не бывает асинхронности
ну вот и сама, эта путаница, так что лучше об потоках не говорить, вне контекста многопоточных языков
Serhii
Потому и нет в жс асинхронности
Serhii
Кек
Anonymous
внеочередные незавершенные вызовы
Anonymous
:D
Oleg
Асинхронность выражается ещё и в том что система не ждет пока там по сети всё пройдет и вернется назад, а делает следующее действие
Serhii
Кстати, а кто то исследовал веб воркеры на предмет выноса в них реактивной логики?
Oleg
Вот про это не стоит забывать
Alexei
JS - однопоточен (почти)
Serhii
Воистину
Алдар
но все эти события прилетают из других потоков или процессов
Алдар
браузер посылает запрос в другом потоке
Алдар
принимает ответ, и создает событие
Алдар
которое уже потом выполняется в жс потоке
Anonymous
нужно кресты видимо знать, чтобы яснее видеть всю картину
Алдар
поэтому асинхронщина без многопоточности невозможна
Oleg
Некоторые говоря о JS говорят только о JS, а некоторые берут сразу браузер и прочее окружение. Так что стоит уточнять а о чем речь.
Алдар
другое дело что просто многопоточность скрыта от глаз жсеров
Oleg
нужно кресты видимо знать, чтобы яснее видеть всю картину
причем тут кресты? понятия потока и процесса относятся к ОС
Anonymous
другое дело что просто многопоточность скрыта от глаз жсеров
это, как во внутренней части, чего-то огромного
Anonymous
😂
Алдар
это, как во внутренней части, чего-то огромного
я прост учавствовал в разработке браузера
Serhii
На жс?
Алдар
на крестах
Алдар
яндекс
Oleg
почитай про в8 и спайдерманки
дай ссылку плз, не совсем понял про что ты
Anonymous
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey https://developers.google.com/v8/ описания достаточно
Алдар
Бред, где бы ты не участвовал
что происходит, когда браузер получает ответ на ajax запрос?)
Alexei
Бред, где бы ты не участвовал
Сообщество js - довольно своеобразно)) кажется, тут каждый считает других полными идиотами. А самого себя Д'Артаньяном.
Serhii
Добро пожаловать
Дима
что происходит, когда браузер получает ответ на ajax запрос?)
Ты лучше не скатывайся к частностям, а поясни, почему для неблокирующей очереди требуется несколько потоков?
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. По-моему больше добавить нечего
Алдар
Ты лучше не скатывайся к частностям, а поясни, почему для неблокирующей очереди требуется несколько потоков?
По моему я уже привел пример, что если ты посылаешь аджакс запрос, то браузер должен установить tcp/ip соединение, послать по нему запрос, и ждать ответа на этот запрос
Anonymous
В этой группе пока что уровень взаимного хамства зашкаливает :) ну до бог с ним
если бы ты ещё флуд темы подымал здесь - https://telegram.me/joinchat/Be4rsUEtXfqo6GMwGz7wLw , он бы уменьшился
Алдар
все это он делает вне потока того где выполняется жс код и крутится эвент луп
Алдар
когда браузер принимает ответ, то он из другого потока постит те коллбеки которые повешены на событие ответа по аджакс запросу
Дима
Браузер
Дима
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 - это поведение не асинхронное 👍 Оок
Sergey
web workers - интересно, никогда не использовал, есть опыт?
в тему workers, асинхронности, event loop + примеры кода: https://youtu.be/8i08T1lqaos
Dreamerinnoise
в тему workers, асинхронности, event loop + примеры кода: https://youtu.be/8i08T1lqaos
как забавно, что по дефолту он говорит про v8 ))