Javascript 如何在文件夹和子文件夹中循环

Javascript 如何在文件夹和子文件夹中循环,javascript,node.js,recursion,web-scraping,async-await,Javascript,Node.js,Recursion,Web Scraping,Async Await,我需要创建一个带有Node.js的API(和TypeScript只是为了使用类型,但对这个问题没有任何影响),用户在其中插入任何GitHub Repo的链接,API通过web抓取所有文件及其扩展名、大小和行总数返回 我的代码在获取顶级文件时运行良好。我一直在使用文件夹,因为文件夹中可能有子文件夹、更多子文件夹和更多文件。当然,它下降了多少层也没有绝对的数字,也没有多少文件可能在那里 到目前为止我试着做了什么? 递归。问题是这对我来说是一个更高的层次,我不能处理这样的任务 我编写的代码能够反复调用

我需要创建一个带有Node.js的API(和TypeScript只是为了使用类型,但对这个问题没有任何影响),用户在其中插入任何GitHub Repo的链接,API通过web抓取所有文件及其扩展名、大小和行总数返回

我的代码在获取顶级文件时运行良好。我一直在使用文件夹,因为文件夹中可能有子文件夹、更多子文件夹和更多文件。当然,它下降了多少层也没有绝对的数字,也没有多少文件可能在那里

到目前为止我试着做了什么?

  • 递归。问题是这对我来说是一个更高的层次,我不能处理这样的任务
  • 我编写的代码能够反复调用函数本身,但它返回一个错误
  • 我将在下面发布我的代码,但如果您愿意,请随时访问

    这是请求结构(可以随意更改回购协议,例如搜索facebook/react或任何其他内容):

    这是控制器:

    重要!注意在第16行调用getRowData()方法,传递第13行中得到的HTML参数。

    这是getRowData模块。我被困在第37行和第38行中,我正试图使用递归传递HREF atribbute来发出新的请求,并在其内部再次调用getRowData()。

    最后,这是错误:

    作为一个额外的好处,它授权请求在开始时需要很长的时间,但是后续的请求不应该花费太多的时间来执行。有什么想法吗

    现在谢谢你

    编辑:
    我忘了说不允许使用API从GitHub获取数据。

    GitHub有一个。如果您想递归地从repo获取所有文件,您可以使用质询规则“我将在下面发布我的代码”中允许的:No API,除非您没有,您发布了代码的图像,这完全不是一回事。请始终将相关代码发布到StackOverflow问题中。Github有一个。如果您想递归地从repo获取所有文件,您可以使用质询规则“我将在下面发布我的代码”中允许的:No API,除非您没有,您发布了代码的图像,这完全不是一回事。请始终将相关代码发布到您的问题中。