Rag*_*hav 6 javascript asynchronous promise angularjs
我是angularjs的新手,我试图将数据从函数返回到另一个函数,并将其存储在变量中.
$scope.myNameValidate = function(name){
$scope.friendsList = $scope.getAllFriends(name);
console.log("data", $scope.friendsList);
}
$scope.getAllFriends = function(name){
friendService.getAllfriends(name)
.then(function(data){
//success
console.log(data);
}, function(err){
//error
})
}
Run Code Online (Sandbox Code Playgroud)
我想将所有对象存储在变量中,但结果是未定义的.
在控制台输出
数据未定义
[对象,对象,对象,对象,对象,对象]
你需要知道Angular的承诺.
此问题与异步操作有关.
您可以通过适当的then链接来修复它.你可以这样做.
$scope.myNameValidate = function(name) {
$scope.getAllFriends(name)
.then(function(data) {
$scope.friendsList = data;
console.log(data);
}, function(err) {
//error
});
}
$scope.getAllFriends = function(name) {
return friendService.getAllfriends(name)
}
Run Code Online (Sandbox Code Playgroud)