Prawidłowy sposób oczekiwania na zakończenie jednej funkcji przed kontynuowaniem?

Mam dwie funkcje JS. Jeden dzwoni do drugiego. W ramach funkcji wywoływania chciałbym zadzwonić do drugiej, poczekać na zakończenie tej funkcji, a następnie kontynuować. Na przykład / pseudo kod: function firstFunction(){ for(i=0;i<x;i++){ // do something } }; function secondFunction(){...