Откройте локальные файлы в JavaScript

Я новичок в JavaScript. Я нашел пример, чтобы открыть локальные файлы с JavaScript наПереполнение стека, После некоторого поиска в Google, я могу установить мойХром чтобы разрешить чтение локальных файлов, и я могу запустить этот пример. Тем не менее, я хочу вернуть строкуallText и использовать его позже в моем сценарии. Но строка становитсяundefined внеreadTextFile().

Есть похожий вопросВот, Кажется, что это как-то связано с асинхронной функциейAJAX, Я едва могу понять жаргон в данный момент. Я просто не понимаю, почему в этом посте третий параметрXMLHttpRequest.open() установлено бытьtrue.

Во всяком случае, ниже мой текущий код. Я хочу использоватьallText внешняя функцияreadTextFile().

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

Ответы на вопрос(1)

Ваш ответ на вопрос