function getJSON(url){
return $http.get(url).success(function(response){
var result = response['entries'][0];
return result;
});
};
我认为 $http 返回了 promise ,因此我执行了以下操作:
getJSON(url).then(function (result) {
console.log(result);
})
但是,当我记录结果时,我没有得到在超时函数中记录的 JSON 文件,而是得到了一个 HTML 响应文件。这就是我最终得到的结果:
Object {data: Object, status: 200, config: Object, statusText: "OK"}
你知道它为什么这样做以及我可以做什么来获取我在 $timeout 函数中登录的 JSON 文件吗?
最佳答案
将您的方法更改为:
function getJSON(url){
return $http.get(url).then(function(response){
var result = response.data['entries'][0];
return result;
});
};
PS:最初您的问题中有一个$timeout
,但情况有所不同。在这种情况下 .success
应该实际工作。唯一的问题是您无法在 .success
调用之后继续链接 promise
关于javascript - Promise 不会返回 Angular.js 中的预期文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33771740/