对不起,我不能在这里显示完整的代码,我想出了以下代码片段。 我有一个服务和控制器。 在服务中,我添加了2秒超时到我的组服务来测试微调加载。角度承诺延迟不按预期方式工作
但以某种方式在控制器中,我的代码马上运行,无需等待2秒钟。
我做了3个破发点,执行我所期望的顺序为:2-> 1-> 3 但是,它结束了与2-> 3-> 1
这里是我的服务。
groupService.get = function() {
var deffered = $q.defer();
deffered.promise = $getMyDataStuffPromise.then(function (data) {
$timeout(function() {
deffered.resolve(); <- break point 1
}, 2000);
}, function (error) {
deffered.reject();
console.log('group error', error);
});
return deffered.promise; <- break point 2
};
控制器:
$q.all([
PeopleSvc.get(),
GroupSvc.get()
]).then(function(data){
console.log('data returns, stop spinner'); <- break point 3
});
请你让我知道什么是错的代码?谢谢!
非常感谢你! – innek