JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//da189i1jfloii.cloudfront.net/js/kinvey-html5-1.1.0.min.js"></script>

<body ng-app="app">
    
    <div ng-controller='AppCtrl'>
        <h2>Be Sure You Have the Console Open!</h2>
        <button ng-click="simplePing()" >Simple Ping</button>
        <button ng-click="complexPing()" >Complex Ping</button>
    </div>
</body>

JavaScript

var app = angular.module('app', []);

app.controller('AppCtrl', ['$scope', 'KinveyTest', function($scope, KinveyTest) {
    
    $scope.pingResponse = 'Nothing Yet!';
    
    $scope.simplePing = function() {
        KinveyTest.noReturnPing();
    };
    
    $scope.complexPing = function() {
        KinveyTest.needResultOfPing();
    };
    
}]);

app.factory('KinveyTest',  function($q, $rootScope) {

    var pingKinveyNoReturn = function() {
        console.log('Simple Kinvey Ping');
        var promise = Kinvey.ping();
        promise.then(function(response) {
            console.log('Kinvey Ping Success. Kinvey Service is alive, version: ' + response.version + ', response: ' + response.kinvey);
        }, function(error) {
            console.log('Kinvey Ping Failed. Response: ' + error.description);
        });        
    };

    var pingKinveyWithResult = function() {
        console.log('Complex Kinvey Ping');
        var deferred = $q.defer();
        
        var kinveyPromise = Kinvey.ping();
        kinveyPromise.then( function(response) {
            deferred.resolve(response);
            $rootScope.$apply();
        }, function(error) {
            console.log('Errored out!: ');
            console.log(error);
        });
        
        return deferred.promise;
    };
    
    return {
        noReturnPing: function() {
            pingKinveyNoReturn();
        },
        
        needResultOfPing: function() {
            // Calling a kinvey ping wrapped in an angular promise.  Never gets resolved.
            console.log('Triggering a complex ping.  I hope I get something back!');
            pingKinveyWithResult().then( function(result) {
                console.log('Got result back from Kinvey!');
                console.log(result);
            }, function(error) {
                console.log('I crashed and burned!');
                console.log(error);
            });
                
        }
        
    }
});