How to detect FileReader load end?
<p>I have the following model with a file reading function. However, the reading is done after the next piece of code. Why and how can I get it to return the read content of the file?</p>

<pre><code>   TreeContainer = Backbone.Model.extend({
                elementCount: 0,
                file: '',
                object: {jj: "kk"},
                type: "input",
                parent: d3.select("#canvas"),
                initialize: function () {
                    var result = this.readFile();
                    for (var i = 0; i &lt; 200; i++) {
                        console.log(i); //this is resulted before the readFile content
                    }

                },
                readFile: function () {
                    var model = this;
                    // display text
                    if (this.get('file').name.endsWith(".json") || this.get('file').type === "application/json") {

                        var reader = new FileReader();

                        reader.onload = function (e) {
                            //parseJSON
                            var text = e.target.result;
                            var data = JSON.parse(text);
                            model.set('object', data);
                            console.log(data);
                            return data;
                        };
                        reader.readAsText(this.get('file'));
                    }
                }
            });
</code></pre>