- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
{ const-6ren">
尝试从文件夹及其所有子目录中提取所有文件。针对外部 api 调用目录的内容。
export const extractFiles = (filesOrDirectories) => {
const files = [];
const getFiles = (filesOrDirectories) => {
filesOrDirectories.forEach(async fileOrDirectory => {
if (fileOrDirectory.type === 'directory') {
const content = await getDirectoryContent(fileOrDirectory.id);
getFiles(content);
} else {
files.push(fileOrFolder)
}
});
}
// files should be returned here when it's done. But how do I know when there are no more directories
};
一个递归函数,在创建目录时调用自身。否则将文件推送到数组。
但是我怎么知道什么时候没有更多的目录可供提取?
最佳答案
当函数结束时,您将知道不再有目录可供探索。
但是应该注意的是,由于您的 extractFiles
函数中有异步代码,因此您必须等待任何后续递归的结果。
export const extractFiles = async(filesOrDirectories) => {
const files = [];
const getFiles = async(filesOrDirectories) => {
for (const file of filesOrDirectories) {
if (fileOrDirectory.type === 'directory') {
const content = await getDirectoryContent(fileOrDirectory.id);
await getFiles(content);
} else {
files.push(fileOrFolder)
}
}
}
await getFiles(filesOrDirectories)
return files;
};
const extractedFiles = await extractFiles();
编辑:
请注意,forEach
将在 unexpected ways 中运行与异步代码结合使用时,请重构以使用 for...of
循环。
关于javascript - 递归函数从 "filetree"提取所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61401776/
我正在使用 fileTree 实用程序来获取文件列表,但需要排除除列表中选择的少数目录之外的所有目录。 我的目录结构: node_modules/ react-native/ reac
尝试从文件夹及其所有子目录中提取所有文件。针对外部 api 调用目录的内容。 export const extractFiles = (filesOrDirectories) => { const
在我的 gradle 任务中,我迭代 fileTree 并且一切正常: myTask { fileTree("${project.projectDir}/dir").visit { FileVis
我正在尝试使用 jQuery FileTree 访问本地共享文件夹。我的代码在下面,如果该文件夹尚未在网络上共享,它绝对可以正常工作。但是,一旦我共享文件夹,FileTree(或 Javascript
我正在使用jqueryfiletree plugin ,看起来已经建立并且相当顺利,但我有一些问题: 尽管选项设置如下: $(function() { $("#sourceFileTree")
这是工作 gradle build 脚本代码: dependencies { compile files("dir/libs", "dir/libs2") compile fileTr
我正在使用一个具有大量本地依赖项的Java项目。我的图书馆文件夹的格式如下: projectroot\lib\com\google\code\gson\gson\2.8.0\gson-2.8.0.ja
给定一个目录dir: dir ├── sub1 │ ├── file1 │ └── file2 ├── sub2 │ ├── file1 │ └── file2 └── sub3
出于某些奇怪的原因,我在 gradle 类路径中使用基于本地文件树的 jar。 从子模块(项目)中,我想排除其中一个本地 jar。但我缺少它的语法,有人可以为我提供正确的语法以排除本地 jar 文件作
我想说: clean.delete(fileTree("a") { include "subdir/" include "aFile" }) 删除目录“subdir”和文件“aFile”。
我想创建一个实现接口(interface) 的对象文件树 在 Gradle 中。 从我可以从文档中找到的 文件树适配器 类实现了 FileTree,但它是 内部 类(class)。 如何初始化我的对象
我想要的是一次将一个包或一组包提交到两个存储库,如果可能的话使用相同的版本号,这样一个存储库可以是另一个存储库的镜像。 可以使用 Gofer 吗? 最佳答案 Gofer 每次操作可以获取多个存储库。尝
我正在编写一个将 tarball 提取到目录中的任务。我不控制这个 tarball 的内容。 tarball 包含一个目录,其中包含我真正关心的所有文件。我想从该目录中提取所有内容并将其复制到我的目的
我有一个 Gradle 构建脚本,它变得太大了,所以我创建了一个实用程序类。在这个类中,我想使用 Gradle fileTree(或任何其他 Gradle 类),我该怎么做?要清楚,这是在 build
也许我错过了 Gradle 的工作方式。我这里有一个父项目,它只包含配置,即在构建它时不会构建任何工件,它只是管理和构建它的所有子项目。 现在子项目共享一些依赖配置,所以我想我会在根项目的 build
我正在将一个项目迁移到Gradle。 我有一些通过compile fileTree(dir: "libs/$it", include: '*.jar')导入的本地部门 但是,不建议使用compile。
我用的是IDEA。我的 gradle 配置是这样的: 重点是编译fileTree(dir: 'libs', include: ['*.jar'])。 这是我的项目结构: 然后我发现 compile f
我正在用 Java 构建一个 Gradle 插件,因为我想利用一些 Java 库。作为插件的一部分,我需要列出和处理文件的文件夹。我可以在 gradle 构建文件中找到许多如何执行此操作的示例:
我在 IntelliJ IDEA 中使用其 Gradle 项目模板创建了一个新的 Java 项目,我正在尝试设置一个库以便我的项目可以使用它。我将库JAR文件保存到项目中的./libs/frink-2
这不是编码错误。这只是关于 Android Studio 的使用。我试图通过谷歌搜索并找到合适的解决方案,但我找不到。 在 Android studio 项目中,lib 文件夹中有 XYZ.jar 文
我是一名优秀的程序员,十分优秀!