Вопросы с тегом «event-loop»

17
Почему setTimeout (fn, 0) иногда полезен?
Недавно я столкнулся с довольно неприятной ошибкой, когда код загружался <select>динамически через JavaScript. Этот динамически загруженный <select>имел предварительно выбранное значение. В IE6, мы уже имели код , чтобы установить выбранный <option>, потому что иногда <select>«s selectedIndexзначение будет синхронизирован с выбранным <option>» s indexатрибута, как показано ниже: field.selectedIndex = element.index; Однако …

7
Цикл событий Nodejs
Есть ли в архитектуре nodejs два внутренних цикла событий? libev / libuv Цикл событий javascript v8 В запросе ввода-вывода узел ставит в очередь запрос к libeio, который, в свою очередь, уведомляет о доступности данных через события, используя libev, и, наконец, эти события обрабатываются циклом событий v8 с использованием обратных вызовов? …

3
Разница между микрозадачей и макрозадачей в контексте цикла событий
Я только что закончил читать Обещания / A + спецификации и наткнулся на термины microtask и macrotask: см http://promisesaplus.com/#notes Я никогда не слышал об этих терминах раньше, и теперь мне любопытно, какая разница? Я уже пытался найти некоторую информацию в Интернете, но все, что я нашел, - это сообщение из …

3
Понимание цикла событий
Я думаю об этом, и вот что я придумал: Посмотрим на этот код ниже: console.clear(); console.log("a"); setTimeout(function(){console.log("b");},1000); console.log("c"); setTimeout(function(){console.log("d");},0); Приходит запрос, и JS-движок начинает шаг за шагом выполнять приведенный выше код. Первые два вызова - это вызовы синхронизации. Но когда дело доходит до setTimeoutметода, он становится асинхронным. Но JS немедленно …

3
Что такое тик цикла событий Node.js?
Я все больше вникаю во внутреннее устройство архитектуры Node.js, и термин, который я часто вижу, - это «тик», как «следующий тик цикла событий» или функция nextTick () . Чего я не видел, так это четкого определения того, что такое «галочка». Основываясь на различных статьях ( например, этой ), я смог …

5
Асинхронная функция с + =
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); Выполнить фрагмент кодаСкрыть результатыРазвернуть фрагмент Значения xвошли в систему 1и 5. Мой вопрос: почему значение x 5второго журнала? Если testпосле выполняется x += 1(так как это асинхронная …

2
Как поставить микрозадачу в очередь, если браузер не поддерживает встроенные обещания?
Лучше написать код, который не зависит от времени немедленных обратных вызовов (например, от микрозадач против макрозадач), но давайте пока отложим это. setTimeoutставит в очередь макрозадачу, которая, как минимум, ожидает запуска, пока не завершатся все микрозадачи (и микрозадачи, которые они порождают). Вот пример: console.log('Macrotask queued'); setTimeout(function() { console.log('Macrotask running'); }); Promise.resolve() …

1
Запуск параллельной 1k HTTP-запросов застрянет
Вопрос в том, что на самом деле происходит, когда вы запускаете 1k-2k исходящих HTTP-запросов? Я вижу, что он легко разрешил бы все соединения с 500 соединениями, но движение вверх оттуда, кажется, вызывает проблемы, так как соединения остаются открытыми, и приложение Node застревает там. Протестировано с локальным сервером + пример Google …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.