Ciao, se la sola necessità è quella di eseguire B in base al risultato di A basta questo
codice:
function b() { return true;}

function a() {
  if( b() ){
     //faccio qualcosa quando B ritorna true
     return;
   }
   //faccio altro se B ritorna false
}
a();
Così come hai scritto le funzioni vengono eseguite contemporaneamente e a meno che non ci sia una reale chiamata asincrona tipo in ajax vengono comunque eseguite in sequenza.

Qui puoi leggere come funzionano le promises .