সম্পাদনা: এই উত্তরটি প্রাথমিকভাবে 1.0.X সংস্করণে ফোকাস করেছিল বিভ্রান্তি রোধে এটি আজকাল, ২০১৩-১২-২০১৮ পর্যন্ত অ্যাংুলারের সমস্ত বর্তমান সংস্করণগুলির সর্বোত্তম উত্তরের প্রতিফলনের জন্য পরিবর্তন করা হচ্ছে।
ধারণাটি হ'ল এমন একটি পরিষেবা তৈরি করা যা প্রত্যাবর্তিত ডেটার প্রতিশ্রুতি দেয়, তারপরে আপনার নিয়ামককে কল করুন এবং আপনার প্রতিশ্রুতি সম্পত্তিটি জনবসতি করতে সেখানে প্রতিশ্রুতিটি পরিচালনা করবেন।
সেবা
module.factory('myService', function($http) {
return {
getFoos: function() {
//return the promise directly.
return $http.get('/foos')
.then(function(result) {
//resolve the promise as the data
return result.data;
});
}
}
});
নিয়ামক:
প্রতিশ্রুতির then()পদ্ধতিটি হ্যান্ডেল করুন এবং এটি থেকে ডেটা বের করুন। $ স্কোপ সম্পত্তিটি সেট করুন এবং আপনার যা যা করার প্রয়োজন হতে পারে তা করুন।
module.controller('MyCtrl', function($scope, myService) {
myService.getFoos().then(function(foos) {
$scope.foos = foos;
});
});
ইন-ভিউ প্রতিজ্ঞার রেজোলিউশন (কেবলমাত্র 1.0.X):
কৌণিক 1.0.X এ, এখানে মূল উত্তরের লক্ষ্য, প্রতিশ্রুতিগুলি ভিউ দ্বারা বিশেষ চিকিত্সা পাবে। যখন তারা সমাধান করে, তাদের সমাধান করা মানটি দেখার সাথে আবদ্ধ হবে। এটি 1.2.X এ অবচয় করা হয়েছে
module.controller('MyCtrl', function($scope, myService) {
// now you can just call it and stick it in a $scope property.
// it will update the view when it resolves.
$scope.foos = myService.getFoos();
});