我正在使用文档库。它可能包含文件夹和文件。我的要求是使用 API ( https://some.domain.com/folder/{id} )从文档库中获取所有内容
我目前的逻辑是使用 STACK
在根文件夹 -
public async Task<Content> RetrieveDocuments(string url, string id)
{
var files = new List<string>();
var stack = new Stack<string>();
stack.Push(id);
while (stack.Count > 0)
{
var roundId = stack.Pop();
var response = Make An API call (https://some.domain.com/folder/{id})
if (response != null)
{
response.Folders?.ForEach(f => stack.Push(f.FolderId));
response.Files?.ForEach(f => files.Add(resourceRegex.Replace(f.Path, "/")));
}
}
return files;
}
现在这里的问题是-如果递归放置的文件夹中有很多文件..它变得非常耗时,并且此函数调用通常会导致超时。
任何人都可以提出更好的方法。