Это не делает то, что вы думаете:
alpha(beta());
Это немедленно вызывает beta
, а затем передает результат из beta()
в вызов alpha
. И поскольку beta
ничего не возвращает, этот результат равен undefined
.
Вам нужно отправить саму функцию в качестве обратного вызова, а не результат выполнения функции:
alpha(beta);
Дополнительно в вашем alpha
вам нужно будет на самом деле позвонить обратный вызов:
function alpha(callback){
alert('hi');
callback();
}