【问题标题】:Traverse directory structure in Javascript with callback for each hit遍历Javascript中的目录结构,每次点击都有回调
【发布时间】:2019-02-05 19:46:34
【问题描述】:

在 Javascript 中遍历目录树有许多选项(node-dirfs.readdir、...),并且大多数支持异步执行,完成后带有回调。

但是有一个框架支持对每个找到的文件进行回调吗?我想为音频文件构建一个加载器,在找到文件时逐步添加它们。

也接受纯 Javascript(或 Typescript)解决方案。

【问题讨论】:

  • 这感觉像是一个 XY 问题。您无需在“点击时”调用您的回调。您可以遍历目录,构建找到的文件的路径列表。 然后,遍历该列表并为每个路径调用您的函数。您可以将所有这些包装在一个接受根目录和回调的 API 中。递归路径列表通常在大多数 fs 包装器模块中找到,因此您已经完成了一半。
  • "lazy loader for audio files"的环境是什么?客户端?您是否正在尝试创建播放列表?
  • @guest271314 node.js 应用程序。具有特殊功能的智能播放列表。
  • “懒加载器”是什么意思?您可以将目录展平为值数组并迭代数组,为数组的每个元素执行“回调”。
  • @guest271314 “延迟加载”与反应式编程一样,在“找到”新文件时填充和更新信息。 (不是很懒惰,我知道...)

标签: javascript callback directory lazy-evaluation


【解决方案1】:

我认为遍历结构的成本很高,并且希望在遍历找到每个文件时对其进行工作,而不是先收集列表。但实验表明,事实并非如此,遍历实际上比仅仅打开文件非常便宜,更不用说解析内容了。所以我会接受@Joseph 的建议,只使用列出的选项之一并为每个文件调用函数。

我将通过异步执行此操作并响应式更新 UI 来增加此操作。

感谢您整理了我的思路。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多