Tôi đã có một quyết tâm làm việc trên routeprovider của tôi nhưng tôi chỉ trả lại lời hứa vì vậy tôi không biết nếu thành công hay thất bại của nó. Đây là những gì tôi cóAngularJS: Giải quyết trong RouteProvider - phát hiện thành công/thất bại?
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
return Restangular.one('Items').get();
}
}
})
Bây giờ điều này không làm việc nhưng làm thế nào để phát hiện sự thành công hay thất bại ... tôi có thể nhập này trong phương pháp giải quyết, nhưng những gì tôi sẽ quay trở lại trong sự thành công và thất bại ... Nhớ Tôi cần phải có các mục tiêm trong bộ điều khiển của tôi.
.when('/items', {
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
resolve: {
resolvedData: function(Restangular) {
Restangular.one('Items').get().then(function(data) {
// success
}, function() {
// failure
});
}
}
})
Tôi đã xem ví dụ ở đây nhưng tôi nhầm lẫn nếu đây là những gì tôi cần và cách sử dụng?
AngularJS - rejected $http promise with $routeProvider:resolve
Có vẻ như đã trả về lời hứa thủ công.
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;
}
]
}
Tôi thực sự đánh giá cao sự giúp đỡ của bất kỳ ai. Những gì tôi thực sự muốn làm là trong bộ điều khiển của tôi có biến giải quyết được tiêm vào bộ điều khiển, nếu nó không thành công thì tôi cũng muốn có quyền truy cập vào sự thất bại trong bộ điều khiển để tôi có thể hiển thị cho người dùng rằng nó không được không thể hiển thị do sự cố.
Ah điều đó tuyệt vời, và trong bộ điều khiển của tôi làm thế nào tôi sẽ xác định nếu giá trị tôi đang tiêm là thành công hay thất bại? – Martin
Trả về một đối tượng như {success: true, data: ...} –