回调比它应该更早发生(平均堆栈)

时间:2016-12-10 11:23:01

标签: javascript angularjs callback mean-stack

我有两个函数getCharacterInfo(callback)和apply()。我在getCharacterInfo中调用apply()作为回调,但是应用(回调)比它应该更早地触发(至少从我从代码中可以看出来)

这是我的代码:

getCharacterInfo(回调)

$scope.apply = function() {
            $scope.newApplication.charName = $scope.charInfo.name;
            $scope.newApplication.realm = $scope.charInfo.realm;
            $scope.newApplication.armoryLink = 'http://eu.battle.net/wow/en/character/'+ $scope.charInfo.realm + '/'+ $scope.charInfo.name +'/advanced'
            console.log($scope.newApplication)
            applicationsService.save($scope.newApplication, function(){
                $scope.applications = applicationsService.query();
                $scope.newApplication = null;
            });
    };

应用()

<form ng-Submit="getCharacterInfo(apply())">

函数调用是从HTML提交表单

进行的
observeOn

我得到的错误是在apply()中,控制台告诉我$ scope.charInfo是未定义的。从来没有触发过characterInfo中的console.log(),我认为它们应该是什么?

我错了什么?

1 个答案:

答案 0 :(得分:2)

传递apply参数,不带括号:

<form ng-submit="getCharacterInfo(apply)">

否则,首先执行函数apply,然后将其结果传递给getCharacterInfo函数。