PromisePractiseOne
How promise written in Service effects the controllers and view.
by rahulshivsharan
HTML
<body ng-app="MyApp">
<div ng-controller="myCtrlOne as one">
<h2>One</h2>
<label for="">Stored Value:</label>{{one.myVal | json}} <br/>
Value: <input type='text' ng-model='one.myVal.value' />
</div>
<div ng-controller="myCtrlTwo as two">
<h2>Two</h2>
<label for="">Stored Value:</label>{{two.myVal | json}} <br/>
</div>
</body>
JavaScript
angular.module("MyApp",[]);
(function(){
angular.module("MyApp").controller("myCtrlOne",myCtrlOne)
.controller("myCtrlTwo",myCtrlTwo);
function myCtrlOne(storedValue){
var obj = this;
obj.myVal = undefined;
storedValue.get().then(function(value){
obj.myVal = value;
});
};
function myCtrlTwo(storedValue){
var obj = this;
obj.myVal = undefined;
storedValue.get().then(function(value){
obj.myVal = value;
});
};
})();
(function(){
angular.module("MyApp").factory("storedValue",storedValue);
function storedValue($q){
var obj = { get : fn },
promise = undefined;
return obj;
function fn(){
return promise || getData();
function getData(){
promise = $q.when({
label : 'Hello',
value : 1000
});
return promise;
};
};
}
})();