如果有任何方法可以将呼叫解析为状态但是顺序?意思是,我需要在第一次完成之后解决一个和另一个?
让我们说我的配置如下:
$stateProvider
.state('home', {
url : '/',
resolve : {
firstCall : function(myService) {
return myService.getSomething();
},
secondCall : function(differentService, $q) {
//$q.when(myService.getSomething).getOther();
return differentService.getOther();
}
}//others parameters are omited
}
这很糟糕,我知道,但我从来没有做过类似于路由器的决定。
任何猜测?
答案 0 :(得分:2)
链这两个电话。
$stateProvider
.state('home', {
url : '/',
resolve : {
bothCalls : function(myService) {
return myService.getSomething()
.then (function (result) {
var promise = differentService.getOther();
return $q.all([result, promise]);
});
},
}//others parameters are omited
}
$q
服务在启动getSomething
电话之前等待getOther
来电解决。最终结果是一个包含两个结果的数组。