【发布时间】:2019-05-18 20:15:45
【问题描述】:
我将任意数量的文件路径作为字符串存储在数组中。
我需要依次读取这些文件(即在开始读取下一个文件之前完成读取一个文件),并在每个文件读取后输出文件长度。并在读完所有文件后,打印'done'。
我只能使用fs.readFile 和本机Javascript。不允许使用 fs.readFileSync 或任何其他模块。另外,我在 Node v6 上,所以我不能使用 async/await。
有什么方法可以按照约束来实现功能吗?
【问题讨论】:
-
是的,您需要使用一次读取的回调来知道何时开始下一次读取...... Promise(在这样一个古老的节点中可能需要一个库)将使它更容易跨度>
-
@JaromandaX 是的,我认为这就是想法。但是如何在任意大小的数组上实现它呢?
-
我喜欢使用带有 promise 的数组 reduce 来完成此类任务——但这绝不是唯一的方法
-
fs.readFileSync的约束对于现实世界的问题似乎有点武断;这是作业吗?
标签: javascript node.js asynchronous fs synchronous