gpt4 book ai didi

javascript - readAsText(file) 只读取目录中的最后一个文件

转载 作者:行者123 更新时间:2023-12-03 04:54:27 28 4
gpt4 key购买 nike

我正在尝试读取用户目录中的所有文件并在文本框中显示其内容。

读取单个文件效果很好,但是,当我尝试读取整个目录时,事情变得很奇怪。

遍历目录时,仅正确读取目录中的最后一个文件。无论目录中有多少文件,此行为都是一致的。

这是我用来读取文件的代码:

results.forEach(function(item) {
reader = new FileReader();

// This line is reached
console.log("filename: " + item.name);

item.file(function(File) {
// This one only for the last file in that directory
reader.readAsText(File);
console.log("success");
});

// This line is reached
console.log("read: " + item.name);
});

这是日志(来自开发工具):

filename: app.js
read: app.js
filename: main.js
read: main.js
filename: SharedPreferences.js
read: SharedPreferences.js
filename: KeyConstants.js
read: KeyConstants.js
success

如果您有任何问题,请询问他们,我已经尝试了几个小时了,我已经慢慢厌倦了一遍又一遍的失败..

最佳答案

发生这种情况是因为 FileReader 异步工作,这大约意味着它在代码继续执行的同时开始执行任务(读取文件)。如果您想在加载完成后立即对每个文件的结果执行某些操作,则需要使用此方法:

reader.onloadend = function(evt) {
// file is loaded
// do something with evt.target object
};

关于javascript - readAsText(file) 只读取目录中的最后一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496459/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com