Во всем, что я читал до сих пор, функции обратного вызова передаются как аргументы в другие функции:Пропускает функцию обратного вызова javascript как необходимый параметр?
function mycallback(){
//dosomething
}
function mainfunc(mycallback){
//do something else
mycallback();
}
mainfunc(mycallback);
Который работает, как и следовало ожидать, большой. Мой вопрос в том, что вопрос о возврате функции обратного вызова в качестве аргумента в mainfunc? Кажется, что если вы опускаете это:
function mycallback(){
//dosomething
}
function mainfunc(){
//do something else
mycallback();
}
mainfunc();
он отлично работает и идентичен первому примеру. Но я не вижу людей, использующих обратные вызовы таким образом. Есть ли причина? Что мне не хватает?
Ваш второй пример работает, потому что 'mycallback' существует в (одной) внешней области вашего« mainfunc ». Обычно это не так. Распространенная картина заключается в использовании анонимных функций обратного вызова. –
Должно ли 'mainfunc' всегда вызывать одну и ту же функцию' mycallback', или есть несколько функций обратного вызова? –