HTML5 FileReader como retornar o resultado?

Eu uso o JS FileReader. Eu quero obter resultado após a operação de leitura de arquivos e trabalhar com esses dados. O FileReader é assíncrono e não sei quando o resultado está pronto. Como fazer isso certo?

$(document).ready(function(){
    $('#file_input').on('change', function(e){
        var res = readFile(this.files[0]);

        //my some manipulate with res

        $('#output_field').text(res);
    });
});

function readFile(file){
    var reader = new FileReader(),
        result = 'empty';

    reader.onload = function(e)
    {
        result = e.target.result;
    };

    reader.readAsText(file);

    //waiting until result is empty?

    return result;
}

http://jsfiddle.net/ub22m/4/

É show "vazio".

Como esperar até que "resultado" esteja vazio? Outro caminho?

questionAnswers(4)

yourAnswerToTheQuestion