Bu nedenle, sunucumdan bazı grup ve soruları almak için 2 toplu çağrı yürütmek istedim ve bunların her ikisi de ilgili verilere sahip olmadan önce karşılık gelen denetleyicinin yüklenmemesi için ruteprovider'da çözüldü.Ruteprovider'da çoklu vaatleri çözme
Diğer denetleyicilerimde, verileri tutmak için her zaman bir initalData nesnesiyle çalıştım.
çözmek kısmı: I, sırasıyla initialData.questions ve initialData.groups kullanılarak kontrolör verilere erişmek için çalışılmıştırresolve: {
initialData: ["GroupsService" "QuestionsService", function (GroupsService, QuestionsService) {
return {
questions: QuestionsService.getAll(),
groups: GroupsService.getAll()
}]
}
, ancak bile geri arama gelen da, bunun yerine verilerin 2 söz alınan Denetleyicinin başlatılmasından önce http kaydedildi. Bununla kod yerini zaman
QuestionsCtrl.$inect = ["DialogsService", "initialData", "QuestionsService"];
function QuestionsCtrl(DialogsService, questions, groups, QuestionsService) {
//Initialdata object which has 2 Promise properties
//This logs AFTER the callback in both http callbacks
console.log('controller initialized', initialData);
(yerine iki diğer nesneleri döndü bir initialData nesnesini kullanın vermedi yaptım eser:
resolve: {
questions: function (QuestionsService) {
//$http call for all questions
return QuestionsService.getAll();
},
groups: function (GroupsService) {
//$http call for all groups
return GroupsService.getAll();
}
}
kimse neden de herhangi mantıklı bir açıklama var mı ilk vaka (veri istemci aslında mevcut olduğunu rağmen) ben sözlerini geri aldım, ikincisi sorunsuz çalıştı?