Добро пожаловать в мир обещаний.
Реализованная вами функция Swal использует нечто, называемое Promise.
Его контекст похож на обещание нашего языка Engli sh.
Поэтому, когда вы вызываете функцию Swal Javascript, она обещает вам вернуться либо с хорошими, либо с плохими новостями. (Вы можете узнать об Обещаниях здесь: https://codeburst.io/javascript-promises-explained-with-simple-real-life-analogies-dd6908092138)
Так что тогда это то, что будет выполнено, когда у Javascript есть Хорошие новости для вас ie. Успех дела. .cath будет выполняться, когда у вас плохие новости ie. Случай неудачи.
Теперь, когда вызывается Swal, ваше фактическое выполнение не остановилось. Это все еще работает. Следовательно, сразу после Swal следующие строки
var date = $('#event_change_data > p:nth-child(1)').text();
var hour = $('#event_change_data > p:nth-child(2)').text();
выполняются в ожидании поступления новостей. Ie. контент не назначен элементам, поэтому вы получаете Null.
Думайте об этом, как будто вы менеджер, и вы хотите увидеть отчет о сегодняшней посещаемости. Вы просите своего помощника получить его от разработчика. Когда ваш помощник находится на другом этаже, пытаясь связаться с разработчиками, вы сможете увидеть отчеты в файле? Нет. Но вы получите ответ от помощника после того, как он вернется с отчетами или без них.