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;
    }
}