我在與解決一個模態控制器多個參數如這樣的麻煩:AngularJs控制器解決依賴
controller : 'MyController',
controllerAs : 'vm',
resolve : {
resolveInfo : function(REST){
var resolveInfo = {}
return REST.doGet('/things/').then(
function(thingsResponse){
resolveInfo.things = thingsResponse.data;
return REST.doGet('/stuff1/' + '/mystuff/' + resolveInfo.things[0].id).then(
function(stuff1Response){
resolveInfo.stuff1 = stuff1Response.data;
return REST.doGet('/stuff2/' + '/mystuff/' + resolveInfo.stuff1[0] + '/' + resolveInfo.things[0].id).then(
function(stuff2Response){
resolveInfo.stuff2 = stuff2Response.data;
return resolveInfo;
}
);
}
);
}
)
}
然後在「myController的」我拿出從resolveInfo這三個對象。 但我希望像這樣的工作:
controller : 'MyController',
controllerAs : 'vm',
resolve : {
things : function(REST){
return REST.doGet('/things/').then(
function(thingsResponse){
return thingsResponse.data;
}
)
},
stuff1 : function(REST, things){
return REST.doGet('/stuff1/' + '/mystuff/' + things[0].id).then(
function(stuff1Response){
return stuff1Response.data
}
);
},
stuff2 : function(REST, stuff1, things){
return REST.doGet('/stuff2/' + '/mystuff/' + stuff1[0] + '/' + things[0].id).then(
function(stuff2Response){
return stuff2Response.data;
}
);
}
但這罵未知提供商「東西」
有沒有辦法來實現這一目標?
您需要使用$ q.all()...它會在繼續之前等待所有資源。 –