将函数引用作为回调传递给我的服务

时间:2012-12-11 15:45:04

标签: javascript angularjs

我正在尝试重构我的代码以避免DRY,并发现我在我的$ resource中的两个回调函数中做了同样的事情。但是我没有设法传递对函数的引用而不是函数声明本身。

我正在尝试这个:

emailService.getEmails(people, function(data) {
    data.foo();
});

但我想要这样的事情:

emailService.getEmails(people, $scope.callback);

$scope.callback = function(data) {
    data.foo();
};

我似乎没有让它发挥作用。我可以这样做吗?

1 个答案:

答案 0 :(得分:0)

这是因为运行$scope.callback函数时尚未定义emailService.getEmails。您可以将其更改为:

emailService.getEmails(people, callback);

function callback(data) {
    data.foo();
};