Maneira correta de aguardar uma função terminar antes de continuar?

Eu tenho duas funções JS. Um chama o outro. Dentro da função de chamada, eu gostaria de chamar a outra, aguardar a conclusão da função e continuar. Então, por exemplo / pseudo código: function firstFunction(){ for(i=0;i<x;i++){ // do something } }; function secondFunction(){...