Как да изпълнявам една функция на javasript след друга

Има функция "ChangeListener", вътре в която се извикват още 2 "changContent" и "count" !
Проблемът е, че след като извикам функцията "changContent" след нейното изпълнение, функцията "count" трябва да бъде изпълнена, но когато отстраних грешките на всичко това, видях, че функцията "count" не беше извикана след функцията "changContent", но навреме!
Функцията "changContent" няма време да бъде изпълнена до края и по време на нейното изпълнение веднага се извиква следващата функция "count" и се оказва, че съдържанието все още не се е променило, тъй като функцията "count" вече изчислява нещо!
Кажете ми как можете да поправите това недоразумение !

За извикване след изпълнение на асинхронен код е измислен конструкторът Promise.
В jQuery има обект Deffered за целите на изпълнението на различни браузъри.

След като добавих обекта Deffered и вмъкнах метода "count" в тогавашния метод, бутоните спряха да натискат, може би направих нещо нередно ?
като цяло имам нужда от метода "count", който да бъде изпълнен след метода "changContent"

така нещо не се търкаля


Просто не мога да копирам една и съща реализация в тогавашната функция, просто използвам функцията "count" не само тук, бих искал да не пиша същото, а просто да извикам вече готовата!