Я не могу найти правильный термин, связанный с этой штукой, поэтому я решил написать вопрос.Каков наилучший способ передачи данных в функцию обратного вызова?
У меня есть эта функция:
var methods = {
login: function(callback){
$someCustomService
.login() // This returns $http
.success(function(data){
// callback(true, data); --- doing this without using 'return' also works
return callback(true, data);
})
.error(function(data){
return callback(false, data);
})
}
};
Вызов функции:
$anotherCustomService.login(function(success, data){
if(success){
alert('Success');
}else{
alert('Fail');
}
console.log(data);
});
Линия return callback(true, data);
работает просто отлично, но если бы я изменил его на callback(true, data);
без использования return
он также работает. Теперь я смущен, что использовать.
EDIT
Кстати, главная причина, почему я задаю этот вопрос, из-за этого:
angular.noop
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
Он не использовал return
, которые я изучил первый в кодовом JavaScript функции ,
Что вы не понимаете? Вы спрашиваете, что означает «возвращение»? – SLaks
У вас есть код для '$ someCustomService'? Если да, имеет ли он какой-либо интерес к возвращаемому значению обратных вызовов при его вызове? Дело не в стиле, а в семантике API. – 2014-09-23 15:20:53