如何同步调用角度函数以返回角度以外的函数结果

时间:2015-07-03 18:00:04

标签: javascript angularjs asynchronous synchronized

如何同步调用angular函数以返回angular之外的函数结果: 来自Outside Angular:我试图在Angular中调用控制器函数来保存数据 - 使用$ http-然后从角度范围之外我需要使用保存结果进行下一步。 这是代码: 来自外角:

result= angular.element(divcurrency).scope().$apply('saveAll()');
if (result =="valid") 
{
....
}

和控制器功能" saveAll"是:

this.saveAll= function ()
    {
        var task = $q.defer();

            $http.post(RESTUrl, $scope.dataToSave).then(function (response) {

                task.resolve(response.data);
                 return  response.data;
            }, function (response) {
                console.log(response.data);
                task.reject(response.data);
                return response.error;
            });
        })
        return task.promise;
    }

但不幸的是,该函数是异步执行的,并且无法看到返回的结果,我不确定是否可以使用来自angular之外的promise。 我理解使用异步过程的角度推荐,但在这种情况下我必须等待结果并在角度之外使用  任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你做不到。

相反,您应该直接返回并使用承诺。

“Angular之外”一词毫无意义;你可以在任何你想要的地方使用对象。