Asynchroniczność modelu zdarzeniowego w JavaScript

Wiesz, że za pomocą metody addEventListener można subskrybować różne zdarzenia, występujące w elementach strony. Na przykład, zasubskrybujmy kliknięcie na pewnym elemencie, odnośnik do którego jest przechowywany w zmiennej elem:

javascriptelem.addEventListener('click', function() {
  console.log('1');
});

console.log('2');

W podanym kodzie najpierw wykona się drugie wyświetlenie w konsoli. Kiedy wykona się pierwsze? Kiedyś: wykonanie tego kodu oczekuje na zaistniałe zdarzenie - kliknięcia na element. Jak tylko to nastąpi, tak nasz kod się wykona.

Задание 1

Opowiedz, w jakiej kolejności wyświetlą się liczby w konsoli:

javascriptelem1.addEventListener('click', function() {
  console.log('1');
});
elem2.addEventListener('click', function() {
  console.log('2');
});