javascript - Promise 不会返回 Angular.js 中的预期文件

标签 javascript angularjs promise

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/

相关文章:

javascript - Bootstrap Accordion 不工作

javascript - AngularJS 选择项目未重置为第一个/默认值

javascript - 如何使用 GitHub API 获取 GitHub 问题的数量?

javascript - 在生成器函数之后继续的正确方法

javascript - 错误 var 未定义 - 但在使用之前已定义 -

javascript - 如何获得选中的单选按钮。显示未定义

angularjs - 单击angular js中的特定菜单时如何关闭所有其他菜单?

javascript - Promise.all 在 AWS lambda 代码中不起作用

javascript - 使用带超时的 Promise

javascript - 使用 Sequelize 更新关联表数据的工作示例?