Javascript Angular JS函数在http.get完成之前返回
这段代码在获得所需的所有信息之前返回 我有这个:Javascript Angular JS函数在http.get完成之前返回,javascript,angularjs,http,Javascript,Angularjs,Http,这段代码在获得所需的所有信息之前返回 我有这个: function (){ .... var promise = $http.get(...) promise.then (...){ //get info needed to return promise } return promise } function getSmth(){ .... return $http.get(...) } 它在承诺完成之前返回。然后,我如何修复它?承诺就是这样工作的-您
function (){
....
var promise = $http.get(...)
promise.then (...){
//get info needed to return promise
}
return promise
}
function getSmth(){
....
return $http.get(...)
}
它在承诺完成之前返回。然后,我如何修复它?承诺就是这样工作的-您的函数会立即返回,您可以通过
将回调附加到它。然后
function someFunc() {
return $http
.get(...)
.then(function() {
...
return data;
});
}
someFunc()
.then(function(data) {
/* to be executed after your promise.then() inside someFunc */
});
当您返回承诺时,这意味着您的请求尚未完成。如果您想要获得数据,那么您应该在内部有一个返回,然后:
function (){
....
var promise = $http.get(...)
promise.then (...){
//get info needed to return promise
return data;
}
}
或者你应该有这个:
function (){
....
var promise = $http.get(...)
promise.then (...){
//get info needed to return promise
}
return promise
}
function getSmth(){
....
return $http.get(...)
}
在页面中,您是否调用上述函数以使用承诺:
getSmth().then (...){
//this will be executed when the response is returned
}
希望这有帮助