我的下面的函数有角度的http请求。在success
部分,我试图返回提供的数据,并返回我的setTextFile()
函数中的值,但它未定义。我已经检查过数据不是null或未定义,所以我知道它包含信息,但我不明白为什么它不返回该内容。
var showFile = function (txtFile, host) {
var datData;
var url = 'rest/archive-viewer/spanish-discount/' +
$rootScope.currentEnv + '/' +
host + '/' +
txtFile;
$http.get(url).success(function (data) {
$scope.sendingMessage = "Getting file";
$scope.sending = false;
$scope.sendingMessage = "";
return data;
}).error(function (data) {
$scope.sendingMessage = "Creation failed";
$scope.sending = false;
});
}
$scope.pullFiles();
};
以下是我的setTextFile
函数,由于showFile()
返回值,返回值未定义。
var setTextFile = function (file,host) {
console.log("Is this null " + showFile(file, host));
return showFile(file, host);
}
答案 0 :(得分:1)
该http请求是异步的。我建议你做的是将数据分配给可验证的范围,例如:$ scope.setTextFile =你在ajax请求中传递的成功函数中的数据。相反,您可以创建一个函数来设置数据并在成功函数内触发函数。