如何同步调用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。 我理解使用异步过程的角度推荐,但在这种情况下我必须等待结果并在角度之外使用 任何帮助将不胜感激。
答案 0 :(得分:0)
你做不到。
相反,您应该直接返回并使用承诺。
“Angular之外”一词毫无意义;你可以在任何你想要的地方使用对象。