如何调用angular's函数同步返回角度之外的函数结果

how to call angular's Function synchronously to return the function result outside of angular

本文关键字:函数 返回 同步 结果 何调用 调用 angular      更新时间:2023-09-26

如何同步调用angular的Function以返回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。我理解使用异步进程的angular recommand,但在这种情况下,我必须等待结果,并在angular之外使用任何帮助都将不胜感激。

你不能那样做。

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

术语"角度之外"是没有意义的;您可以在任何地方使用对象。