Javascript函数返回未定义
Javascript function return undefined
我有一个AngularJS项目,有一个像这样向后端发出的get请求,它将返回数据,之所以使用此函数,是因为对同一url的get请求是多次发出的
function getfunction(some input data) {
$http.get('requset URL' , { params : {some parameters})
.success(function(data){
return data;
});
}
var output = getfunction(input data to the function);
然而,输出总是未定义的,我该如何修复它,这样输出就会有从上面的get请求返回的值。
$http返回一个promise。您的数据将异步到达。
function getfunction(some input data) {
return $http.get('requset URL' , { params : {some parameters});
}
var output;
getfunction(input data to the function).then(function(data){
output = data;
}, function(){
// Handle errors.
});
$http.get
使用promise。或者换句话说:它异步处理请求。
您可以返回$http.get
本身返回的内容(promise),并使用then
:添加延续
function getfunction(some input data) {
return $http.get('requset URL' , { params : {some parameters});
}
getfunction(input data to the function).then(function(data) {
});
// or .success
getfunction(input data to the function).success(function(data) {
});
调用是异步的,因此您要调用的函数将首先运行,然后在从get请求返回响应时运行成功回调。成功处理程序应该是处理该场景中的输出的处理程序(例如,在文本框中显示返回值)
$http返回$promise。所以你要么使用$q服务:
function getfunction(some input data) {
var deferred = $q.defer();
$http.get('requset URL' , { params : {some parameters})
.success(function(data){
deferred.resolve(data)
});
return deferred.promise;
}
var output = getfunction(input data to the function).then(function(data){
output = data;
}, function(err){
console.log(err)
});
或
function getfunction(some input data) {
return $http.get('requset URL' , { params : {some parameters});
}
var output;
getfunction(input data to the function).then(function(data){
output = data;
}, function(err){
console.log(err)
});
相关文章:
- 这.SOMETHING 总是返回未定义的 - extjs
- React+Meteor:this.ops返回未定义
- "日期“;AJAX请求返回的类型值未定义
- Regex提取URL返回数组的一部分;未定义”;
- 换行符拆分返回“”;未定义”;
- 解析-为什么user.getSessionToken()返回未定义的结果
- Javascript函数返回未定义
- JavaScript-获取数据属性的值返回未定义的值
- .val()返回未定义的.text返回随机代码
- 为什么innerHTML返回“未定义”
- "这个“;正在返回未定义的
- 函数jquery的未定义返回
- 为什么typeof的数组的数组的未定义值返回为“0”;未定义的“;我的条件不认为是真的
- winJS 从函数未定义返回 var
- $.get jquery 中的未定义返回
- Javascript 函数未定义返回
- 数据 ID 一直未定义返回
- 函数调用Javascritpt的未定义返回值
- 在函数中提示未定义返回.(问题)范围
- JSON字符串的未定义返回