Привет пользователям и читателям stackoverflow,
Я программирую довольно легко с помощью JS для Firefox / Gecko 2.x и столкнулся с проблемой, которая немного далека от моих знаний.
Дело в том, что я читаю содержимое файла в строку, используя следующий код:
NetUtil.asyncFetch(my_file, function(inputStream, status) {
if (!Components.isSuccessCode(status)) {
return;
}
my_string = NetUtil.readInputStreamToString(inputStream, inputStream.available());
]);
И сразу после прочтения файла я оцениваю следующее условие:
if (my_string.length == 0) {
//do something...
} else {
//do something else...
}
ОК, проблема в том, что, хотя в файле есть некоторые символы, если это первый запуск скрипта, он всегда будет переходить к первому условию, потому что у него недостаточно времени для чтения файла и загрузки символы в строке. При втором запуске глобальная переменная my_string имеет ранее полученное значение, поэтому она перейдет в состояние «else».
Вопрос в том, как я могу прослушать событие «файл завершен при загрузке» в JavaScript, чтобы предотвратить такое поведение?
Большое спасибо.