gpt4 book ai didi

javascript - 当从 Controller 调用 api 时,在回调中获取返回值(在 Angular Directive(指令)中)

转载 作者:行者123 更新时间:2023-11-28 04:40:00 25 4
gpt4 key购买 nike

我在 Angularjs 中创建了一个指令,其中需要使用 getUsers() 方法,以便我可以调用 Controller 的函数。

Controller 的函数被调用。但是 Controller 的函数正在返回一些 api 调用的响应。我想在回调函数中获取该响应。如何实现?

下面是我的代码:在指令中-$scope.getUsers({partnerID:obj._id});

在 Controller 中

scope.getUsers = function(id){

if(id){
var searchObj = {};
searchObj.role = "serviceagent";
searchObj.partner_id = id;
userinfoFactory.get('',searchObj).then(function(data){
$scope.phlebos = angular.copy(data.response);

})
}
}

我想返回$scope.phlebos。

我该怎么做?

最佳答案

也许可以尝试使用 Promises并在您的 Controller 中执行类似的操作:

scope.getUsers = function(id){
var deferred = $q.defer();
if(id){
var searchObj = {};
searchObj.role = "serviceagent";
searchObj.partner_id = id;
userinfoFactory.get('',searchObj).then(function(data){
$scope.phlebos = angular.copy(data.response);
deferred.resolve($scope.phlebos);
})
}
return deffered.promise;
}

在你的指令中:

$scope.getUsers({partnerID:obj._id}).then(function(response) {
// Do whatever you want with the returned value
});

关于javascript - 当从 Controller 调用 api 时,在回调中获取返回值(在 Angular Directive(指令)中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com