Abrir arquivos locais em JavaScript

Eu sou novo em JavaScript. Encontrei um exemplo para abrir arquivos locais com javascript emStackOverflow. Depois de pesquisar no Google, sou capaz de definir meuscromada para permitir a leitura de arquivos locais, e sou capaz de executar esse exemplo. No entanto, eu quero retornar a stringallText e usá-lo mais tarde no meu script. Mas a corda se tornaundefined lado de forareadTextFile().

Existe uma pergunta semelhanteaqui. Parece que tem algo a ver com o recurso assíncrono deAJAX. Eu mal consigo entender os jargões no momento. Só não vejo por que, neste post, o terceiro parâmetro deXMLHttpRequest.open() está definido para sertrue.

De qualquer forma, abaixo está o meu código atual. Eu quero usarallText função externareadTextFile().

<!DOCTYPE html>
<html>
    <script>
        function readTextFile(file)
        {   
            var allText;
            var rawFil,e = new XMLHttpRequest();
            rawFile.open("GET", file, false);
            rawFile.onreadystatechange = function ()
            {
                if(rawFile.readyState === 4)
                {
                    if(rawFile.status === 200 || rawFile.status == 0)
                    {
                        var allText = rawFile.responseText;
                        alert(allText);
                    }
                }
            }
            rawFile.send(null);
            return allText; // this is the part that goes wrong I think
        }

        t = readTextFile("foo.file");
        document.write(t) // print out "undeifned" instead of the correct answer

    </script>
</html>

questionAnswers(1)

yourAnswerToTheQuestion