javascript - Angular ui 路由器仅传递来自 $http get 的数据

标签 javascript angularjs promise angular-ui-router

resolve: {
  document: function ($stateParams, specialGet, $http) {
    var id = $stateParams.id      
    return specialGet(id)
  },
},

.factory('specialGet', function (Pusher, $q, $http) {
  return function (id) {
    return 
      $http.get('/api/document/'+id)
  }
})

当我将文档注入(inject) Controller 时,我得到一个具有这些属性的对象

config: Object
data: Object
headers: function (name) {
status: 200
statusText: "OK"

如何仅将数据传递到文档中,而不是返回该对象并随后获取数据?

最佳答案

使用 then 方法继续执行 http Promise,并在那里返回所需的数据。

resolve: {
  document: function ($stateParams, $http) {
    var nid = $stateParams.id      
    return $http.get('/api/document/'+id).then(function(response) { return response.data; });
  },
},

关于javascript - Angular ui 路由器仅传递来自 $http get 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23768738/

相关文章:

javascript - Promise.all 不等待函数完成

javascript - 最后一个对象字段 JS 末尾的尾随逗号

javascript - 是否有通过 Javascript 访问没有 id 的 DOM 元素的通用方法?

javascript - AngularJS - Json 到树结构

angularjs - 如何在 javascript 中使用过滤器而不是 Html

javascript - 如何断言在 Jest 测试中使用 `async` 调用依赖项?

javascript - Bootstrap 在缓慢的页面加载时暂时显示隐藏的模态对话框

javascript - 如何更新幻灯片数量(猫头鹰轮播)

javascript - 在 AngularJS 中准备多选列表时如何选择多个选项

AngularJS 指令在资源加载之前初始化