Mam postanowienie działające na moim routeprovider, ale właśnie zwrócę obietnicę, więc nie wiem, czy jej sukces lub porażka. To co mamAngularJS: Rozwiązać w RouteProvider - wykrywanie sukcesu/niepowodzenia?
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
return Restangular.one('Items').get();
}
}
})
Teraz to nie praca, ale jak mogę wykryć sukces lub niepowodzenie ... I może wejść w to metody rozwiązywania, ale to, co chciałbym zwrócić się do sukcesu i porażki ... Pamiętając Muszę mieć przedmiot wstrzyknięty do mojego kontrolera.
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
Restangular.one('Items').get().then(function(data) {
// success
}, function() {
// failure
});
}
}
})
Widziałem tutaj przykład, ale jestem zdezorientowany, jeśli to jest to, czego potrzebuję i jak z niego korzystać?
AngularJS - rejected $http promise with $routeProvider:resolve
Wydaje się, że powrót do ręcznego obietnicy.
resolve: {
response: ['Warranty'
'$q',
function(Warranty, $q) {
var dfd = $q.defer();
Warranty.sendRequest().then(function(result) {
dfd.resolve({
success: true,
result: result
});
}, function(error) {
dfd.resolve({
success: false,
reason: error
});
});
return dfd.promise;
}
]
}
Byłbym wdzięczny za każdą pomoc, którą ktoś ma.
Co naprawdę chcę zrobić, to w moim kontrolerze mieć zmienną rozstrzygniętą wstrzykniętą do kontrolera, jeśli zawiedzie, to również chciałbym mieć dostęp do awarii w kontrolerze, więc mogę wyświetlić użytkownikowi, że to nie było nie można dokonać renderowania z powodu problemu.
Ah thats great, a moim kontrolerem, w jaki sposób mogę określić, czy wartość, którą wstrzykiwam jest sukces lub porażka? – Martin
Zwróć obiekt, taki jak {sukces: prawda, dane: ...} –