How to Handle CallBack Functions in AngularJs?

In controller, i am returning object from factory. The method is callback type.

But the problem is that the object is not returing.

My implementation is as:

.factory('fileReadFactory', ['$http',
    function ($http) {

        var objRead = {
            setReadObject: '',
            setPath: 'comMyTaxi',
            setFileName: '',
            status: false,
            errorCode: ''
        };
        var factory = {};
        factory.fileRead = function RequestFileSystem(fileName) {

            alert('factory start');
            objRead.setFileName = fileName;


            try {
                window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, createDirectory, fail);
                objRead.status = true;
                return objRead;
            } catch (e) {
                return objRead;
            }
        }
        ///write steps starts
        function createDirectory(fs) {
            fs.root.getDirectory(objRead.setPath, {create: true, exclusive: false}, onSuccessCreateFile, fail);
        }

        function onSuccessCreateFile(dirEntry) {
            dirEntry.getFile(objRead.setFileName + '.txt.gz', null, gotFileEntryRead, fail);
        }

        function gotFileEntryRead(fileEntry) {
            //  alert('in 2 type step2');
            fileEntry.file(gotFileReading, fail);
        }

        function gotFileReading(file) {
            //  alert('in 2 type step3');
            readFile(file);
        }

        function readFile(file) {
            // alert('in 2 type step4');
            var reader = new FileReader();
            reader.onloadend = function (e) {
                //   alert("Text is: "+this.result);
                objRead.setReadObject = this.result;

            }
            reader.readAsText(file);
            //  alert('reading Ends');
        }

        //write file ends

        function fail(err) {
            alert('error ' + err.code);
            objRead.errorCode = err.code;
            throw e;
        }
        return factory;
    }]);

And my call inside controller is like

var objReturn = fileReadFactory.fileRead('myProfile');
    alert(objReturn.status);
    alert(JSON.parse(objReturn.setReadObject));
    if(objReturn.status){
        var obj=  JSON.parse(objReturn.setReadObject);

       // alert(obj);
      //  alert('Inside Object World');
        $scope.myprofile = obj;
    }

I am not getting the if block. So how do i manage the call back;

Try to call your service and execute the alerts in then() function. You should also read about promises: http://andyshora.com/promises-angularjs-explained-as-cartoon.html

var objReturn = fileReadFactory.fileRead('myProfile').then(function(){
    alert(objReturn.status);
    alert(JSON.parse(objReturn.setReadObject));
    if(objReturn.status){
        var obj=  JSON.parse(objReturn.setReadObject);

       // alert(obj);
      //  alert('Inside Object World');
        $scope.myprofile = obj;
    }
});