Javascript Angular.js多个rest调用范围问题

Javascript Angular.js多个rest调用范围问题,javascript,angularjs,rest,Javascript,Angularjs,Rest,说到Angular.js,我是一个bigniner,我有一个问题,$scope不能从两个$resource rest调用中的一个获得额外的值。这是我的密码: controller: function ($scope, $modalInstance, $route) { $scope.server = {} $scope.submit = function () { //AddNewServer is a $reso

说到Angular.js,我是一个bigniner,我有一个问题,$scope不能从两个$resource rest调用中的一个获得额外的值。这是我的密码:

controller: function ($scope, $modalInstance, $route) {
            $scope.server = {}

            $scope.submit = function () {
                //AddNewServer is a $resource service
                AddNewServer.post($.param({
                    'name': $scope.server.name,
                    'ip': $scope.server.ip,
                    'port': $scope.server.port
                }));

                //ServerStats is a $resource service
                ServerStats.postServerStats(function success(data) {
                    $scope.server.bytesIn = data.returnValue.bytesIn
                }, function err(err) {
                    console.log("Error: " + err)
                })

                $modalInstance.dismiss('cancel');
                $route.reload()

                //BELLOW LOG RETURNS Object {name: "asd", ip: "asd", port: 2} NO bytesIn
                console.log($scope.server) 
            }

            $scope.cancel = function () {
                $modalInstance.dismiss('cancel');
                $route.reload()
            };
        }
问题是如何将来自其他服务调用的bytesIn添加到服务器对象中?我相信这是一件很明显的事情,但我仍处于学习阶段。提前感谢。

您的postServerStats()调用是异步的,因此很可能在console.log($scope.server)语句之前没有调用success函数

分配$scope.server.bytesIn后,将console.log($scope.server)放入success函数中

也许您想在postServerStats()回调中做更多的工作


或者更好的是,查看一下

谢谢您的回复!我在成功回调中添加了console.log($scope.server),它给了我想要的对象:{name:“asd”,ip:“asd”,port:2,bytesIn:7076}。我想做的是能够在我的页面上使用$scope.server来显示数据,但我只得到前3个参数(名称、ip、端口),如果我在使用ng repeat的div中使用它,则不会得到bytesIn。如果答案对您有帮助,请不要忘了将其标记为正确!