首页 > 解决方案 > 文件输入/读取的时间问题

问题描述

我正在使用在网页上调用的 Javascript 函数。目的是打开文件对话框,然后读取文件。当我使用调试器单步执行应用程序时,它可以正常工作。但是,在没有调试器的情况下执行代码时,我没有收到任何警报。我怀疑这是一个时间问题,我触发了点击,然后尝试在文件被选中之前对其进行处理。我是否需要某种类型的点击处理程序来等待文件选择完成处理?

这是该函数的最小版本。

   function importHistory() { 
            var input = $(document.createElement('input')); 
            input.attr("type", "file"); 
            input.trigger('click'); 

            var reader = new FileReader(); 
            reader.onload = function() { 
                var text = reader.result; 
                alert(text); 
            }; 

            reader.onerror = function(event) { 
                alert(event.target.error.code); 
            } 

            reader.readAsText(input[0].files[0]); 
        }; 

标签: javascript

解决方案


推荐阅读