0

DRYを回避するためにコードをリファクタリングしようとしていますが、$resourceからの2つのコールバック関数で同じことを行っていることがわかりました。しかし、関数宣言自体ではなく、関数への参照を渡すことができませんでした。

私はこれを試しています:

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

しかし、私はこのようなものが欲しいです:

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

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

うまくいかないようです。これもできますか?

4

1 に答える 1

0

これは、関数$scope.callbackを実行するときに (まだ) 定義されていないためです。emailService.getEmails次のように変更できます。

emailService.getEmails(people, callback);

function callback(data) {
    data.foo();
};
于 2012-12-11T15:54:57.780 に答える