Перекрытие события XMLHttpRequest.upload? - PullRequest
1 голос
/ 23 марта 2011

Я написал небольшое приложение, которое использует новые FILE API и FormData для загрузки файла.

Я бы хотел видеть, сколько времени заняло загрузка файла. Так что я использовал XMLHTTPRequest.upload события «loadstart» и «load» для запуска секундомера и его остановки при загрузке файла.

Однако, когда размер загружаемого файла небольшой, я заметил, что событие «load» запускается до завершения события «loadstart» (перекрытие). Так что вызывает следующую последовательность выполнения, как показано в журналах ниже. Вы можете видеть, что функция stopWatch () вызывается до вызова startWatch, что вызывает ошибку.

Они должны исполнять исключительно то, что я предполагал, пока не увидел этот инцидент.

Я использую версию FireFox 4Beta 6 для этого тестирования.

17:55:25 INFO - xhr loadstart = 0
17:55:26 INFO - xhr load = 0
17:55:26 INFO - percent = 100
17:55:26 INFO - _stopWatch()
17:55:26 INFO - xhr loadstart = end 
17:55:26 INFO - _startWatch() = true

Так что я в замешательстве, согласно моему размышлению в любой момент времени, только когда оператор JS может быть выполнен.

Также я не уверен, что это правильное поведение? Я имею в виду код блока загрузки, выполняющийся до выполнения блока кода loadstart. И если его правильное поведение, то как я должен убедиться, что событие загрузки не срабатывает до того, как загрузка не завершится? для предотвращения перекрытия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...