Abrir archivos locales en JavaScript

Soy nuevo en JavaScript. Encontré un ejemplo para abrir archivos locales con javascript enDesbordamiento de pila. Después de buscar en Google, puedo configurar miCromo para permitir la lectura de archivos locales, y luego puedo ejecutar ese ejemplo. Sin embargo, quiero devolver la cadenaallText y usarlo más tarde en mi script. Pero la cuerda se convierteundefined fuera dereadTextFile().

Hay una pregunta similaraquí. Parece que tiene algo que ver con la función asincrónica deAJAX. Apenas puedo entender las jergas en este momento. Simplemente no veo por qué en esta publicación el tercer parámetro deXMLHttpRequest.open() está configurado para sertrue.

De todos modos, a continuación está mi código actual. Quiero usarallText función exteriorreadTextFile().

<!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>

Respuestas a la pregunta(1)

Su respuesta a la pregunta