我有两个相互依赖的服务。因此,我想使用promises。
这是我的代码:
var defer = $q.defer();
var promiseUsers = Users.get({id: $routeParams.id});
var promiseUserFields = UserFields.get({id: $routeParams.id});
var promiseResponse = defer.promise;
$q.all([promiseUsers, promiseUserFields])
.then(function (onFulfilled) {
console.log(onFulfilled); // Data available
var res = onFulfilled; // undefined
defer.resolve([res[0].users, res[1].fields]);
}, function(onRejected) {
console.log(onRejected);
});
promiseResponse.then(function (data) {
$scope.users = data[0]; // undefined
$scope.userFields = data[1]; // undefined
console.log($scope.users); // undefined
console.log($scope.userFields); // undefined
});
我的问题是我无法分配响应数组onFulfilled
的元素属性,即使我可以看到onFulfilled
的控制台输出。这有点奇怪。
非常感谢任何帮助。