@ארכיטקט timer לא בדיוק מתאים כאן.
@yossiz הבנת השימוש בAPI של Promise (כמו כן שימוש נכון במילות המפתח async-await) אינה משימה פעוטה, הקוד שצורף בשאלה לא כלל שימוש בשני המנגנונים, ולעניות דעתי (וזו הייתה כוונתי בתגובה הקודמת) אין הבדל גדול ברמות הקושי.
אני ער לעובדה שהשימוש בPromises יותר נפוץ (ונתמך בתחביר), אולם יש לזכור שמדובר במנגנון חדש יחסית שעד לפני כמה שנים השימוש בו דרש יבוא של ספרייות חיצוניות, ממש כמו השימוש בRxJs כיום.
אגב הקונספט של Observable\Observer מועמד בשנים האחרונות לשילוב בתוך השפה.