Подтвердить что ты не робот

Легко понять определение "асинхронного события"?

Я много встречался с этим термином, и даже после Googling все еще не могу понять, что именно это означает. Есть ли какие-то простые в понимании (в идеале примеры) определения того, что такое асинхронное событие, которое может предоставить кто-то?

Спасибо!

4b9b3361

Ответ 1

Непрограммный пример:

Синхронный Вы хотите пиццу на ужин, и вы находитесь вне замороженного вида. Поэтому вам нужно прекратить играть в WOW, что расстраивает ваш клан. Вы идете на кухню, делаете тесто, накрываете его соусом, добавляете сыр и задуваете его своим любимым беконом. Вы просто потратили 20 минут своего времени на то, чтобы сделать пиццу еще 10 минут в духовке. Таймер подает звуковой сигнал, и вы вытаскиваете горячий пирог. Вы можете сесть перед компьютером, съесть пиццу и продолжить свое завоевание.

Асинхронный Вы хотите пиццу на ужин, играя в WOW. Вы открываете окно браузера на своем 5-м мониторе. Вы загружаете сайт Pizza и заказываете свою дополнительную сырую беконную пиццу со стороны чесночного соуса из беконной жирности. Вы возвращаетесь к рейду, и через 20 минут раздаётся звонок. Вы получаете пиццу. Вы садитесь за свой компьютер, едите пиццу и продолжаете свое завоевание.

Так в чем же разница? Один из способов тратить 20-30 минут драгоценного времени WOW, иначе вы тратите $20 плюс наконечник.

Ответ 2

Ваша страница доставляется с сервера в клиентский браузер, где-то там, в Интернете. Браузер нарисовал страницу на экране, а кто-то - или кое-что; смотрит на него. Это игра в ожидании. Глаза смещаются взад-вперед, беря ту или иную деталь в быстрых прыжках, время от времени бросаясь в сторону, подальше от экрана, чтобы исследовать отвлекающие факторы в окружающей среде. Часы тикают. Страница светится мягко, пассивно, когда пользователь неактивен, рука слегка задрапирована над мышью, сгибается шея и глаза все больше и больше стремятся к чему-то, что может предложить ваша страница.

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

Во всем этом все, что сделал пользователь при просмотре страницы, произошло совершенно непредсказуемо для браузера, любого клиентского кода на вашей веб-странице, для чего-либо, находящегося на ваших серверах. Между действиями человека не было понятного "времени ожидания". Таким образом, действия, передаваемые оборудованием, подключенным к пользовательскому компьютеру, произошли, когда они произошли, а не согласно прогнозируемым часам; то есть они произошли асинхронно.

Ответ 3

Подумайте о завершении интервью, и они говорят: "Не звоните нам, мы вам позвоним". В этом суть асинхронного события.

Обычно вы определяете функции, и вы вызываете функции явно. Ваша программа имеет структуру, в которой она начинается с строки 1, затем строки 2 и за исключением некоторого условного кода и итераций, вызывающих функций и т.д., Есть простая, линейная, синхронная структура.

Но в некоторых случаях у вас есть действия, вызванные событиями, находящимися вне прямого управления программой, вещи, которые происходят извне программы, такие как события пользовательского интерфейса (пользователь щелкает мышью) или сетевое событие (кто-то пытается для подключения к вашему серверу). Ваш код не генерирует эти события напрямую. Они генерируются вне вашей программы, часто ОС, на основе их мониторинга устройств пользовательского интерфейса и других систем. Они называются асинхронными событиями.

Просто помните: "Не звоните нам, мы вам позвоним"

Ответ 4

"В программировании асинхронными событиями являются события, происходящие независимо от основного потока программы. Асинхронные действия - это действия, выполняемые в неблокирующей схеме, позволяющие продолжить основной поток программы.

"С помощью Ajax веб-приложения могут извлекать данные с сервера асинхронно в фоновом режиме без вмешательства в отображение и поведение существующей страницы."

Когда вы нажимаете Edit и Save on SO, это происходит асинхронно.

Ответ 5

Асинхронное событие - это событие, которое выполняется за пределами основного потока приложения.

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

Когда вы перешли на эту страницу, вы нажали на ссылку и ждали загрузки страницы и не могли взаимодействовать с этой страницей или использовать ее до ее завершения. Чтобы контрастировать, если на этой странице должно было быть событие AJAX (это асинхронное JavaScript и XML-событие), связанное с каким-либо действием пользователя, эта страница будет загружать некоторые данные из другого источника асинхронно - параллельно (теоретически) с любыми другими действиями.

Пример с двумя синхронными событиями (A и B): Сначала А что-то делает. Когда A закончен, B делает что-то.

Пример с двумя асинхронными событиями (A и B): Оба A и B делают что-то одновременно, и ни одно событие не ждет другого.

Ответ 6

Вот пример асинхронной операции в javascript (вам нужно открыть консоль javascript)

console.log('One!');
setTimeout(function(){console.log('Two!');},0);
//Doesn't wait
console.log('Three!');};

//OUTPUT:
//One!
//Three!
//Two!

Вызов console.log('Two!') будет выполняться без блокировки остальной части кода, который происходит после него.

В реальном сценарии замените setTimeout тем, кто нажал кнопку на веб-странице. Ответ на нажатие кнопки в конечном итоге произойдет, не блокируя выполнение другого кода, например рендеринг страницы.

Ответ 7

Проще говоря, это означает что-то, что происходит после неизвестного времени, поэтому не ожидайте немедленных результатов.

Например, "Мама, могу ли я иметь пять долларов?"

Положив руку на деньги, я ожидаю, что она немедленно ответит, предоставив мне деньги (синхронно).

Реально, она посмотрит на меня на мгновение или два, а затем решит ответить, когда захочет (асинхронно).

Ответ 8

Когда два разных события происходят друг от друга, поэтому вы не можете делать

task1 task2

без проверки того, что задача 1 действительно завершена.

С уважением, /Т

Ответ 9

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

Ответ 10

Синхронный. События будут происходить одновременно, синхронизированы.

Асинхронный. События будут происходить по одному, следующее событие начнется после завершения предыдущего.

Ответ 11

Синхронный Vs. Асинхронные события

Некоторые обработчики событий вызывается немедленно, когда происходит событие. Они называются "синхронными событиями". Например, DocumentNew. Он вызывается, как только пользователь создает новый документ.

Однако некоторые события вызывают вскоре после возникновения события, как правило, после короткого времени простоя. Они называются асинхронными событиями. Они асинхронны, потому что они будут дестабилизировать Source Insight, если пользовательский макрос должен был вызываться в то время, когда произошло событие.