JSFiddle - React, Tailwind, and code Playground
by cmyworld
HTML
<div ng-app='app'>
<div ng-controller='PromiseController'>
<input ng-model='data' type='text'>
<button ng-click='callPromise(data)'>Invoke Promise</button>
<div>The promise response is {{promiseResponse}}</div>
</div>
</div>
JavaScript
angular.module('app', []);
function PromiseController($scope, $q) {
console.log('Controller created');
$scope.callPromise = function (input) {
var promise = promiseMethod(input)
.then(function (data) {
return data;
}, function (error) {
return error;
})
.then(function (data) {
$scope.promiseResponse = data;
}, function (error) {
$scope.promiseResponse = data;
});
}
var promiseMethod = function (input) {
var defer = $q.defer();
if (input % 2 === 0) {
defer.resolve(input);
} else {
defer.reject({
error: 'Not a even number.'
})
}
return defer.promise;
}
}