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