我在 Angular 中链接承诺时遇到了一些麻烦。我想要做的是从 API 中获取我的项目对象,然后检查项目所有者是否有任何容器,如果有,则触发另一个GET
来检索容器。最后,分配给的容器scope
应该为 null 或从 API 检索的对象。
现在,下面的这个例子立即解析为第二个then
函数,我得到了错误,TypeError: Cannot read property 'owner' of undefined
. 我究竟做错了什么?
$http.get('/api/projects/' + id).then(function (data) {
$scope.project = data.project;
return data.project;
}).then(function (project) {
var containers = project.owner.containers;
if (containers.length) {
return $http.get('/api/containers/' + containers[0]);
} else {
return null
}
}).then(function (container) {
$scope.container = container;
});