Javascript JS程序使用Async&;递归卡在主进程中

Javascript JS程序使用Async&;递归卡在主进程中,javascript,recursion,async-await,firebase-admin,Javascript,Recursion,Async Await,Firebase Admin,我正在尝试检索项目中的Firebase用户。我可以检索它们,但主程序永远不会结束。我使用VS代码进行调试,或者使用npm run运行脚本,但它在两个方面都卡住了。在VS代码中,堆栈上没有任何剩余内容…它永远不会停止 **Users函数(返回用户时不会出现问题) admin.auth().listUsers返回一个listUsersResult对象,该对象具有属性nextPageToken和用户数组 主例程(这是卡住的例程) 阻止主程序结束的问题可能是什么?我应该找什么?感谢您关闭您应该使用的脚本

我正在尝试检索项目中的Firebase用户。我可以检索它们,但主程序永远不会结束。我使用VS代码进行调试,或者使用npm run运行脚本,但它在两个方面都卡住了。在VS代码中,堆栈上没有任何剩余内容…它永远不会停止

**Users函数(返回用户时不会出现问题) admin.auth().listUsers返回一个listUsersResult对象,该对象具有属性nextPageToken和用户数组

主例程(这是卡住的例程)
阻止主程序结束的问题可能是什么?我应该找什么?感谢您关闭您应该使用的脚本

await admin.app().delete();
只要有句柄,Node.js就会安静地保持运行,句柄可以是任何东西——当然是网络套接字


您也可以使用
process.exit()
,但最好正确关闭SDK,而不是在SDK可能未完成时突然退出。

要关闭脚本,您应该使用

await admin.app().delete();
只要有句柄,Node.js就会安静地保持运行,句柄可以是任何东西——当然是网络套接字


您也可以使用
process.exit()
,但最好是正确关闭SDK,而不是在SDK可能未完成时突然退出。

不要管递归,如果只发出一个API请求,它的行为如何?谢谢你,乔希。我只是将函数限制为调用admin.auth().listUsers(BATCH_SIZE,nextPageToken)并检查结果。我确实得到了所需的值,但是主函数一直被阻塞。返回的值是一个对象..没有承诺或任何东西。怎么了?我能查什么?这肯定与我称之为承诺的方式有关,但我有点不知道该检查什么。感谢不管递归是什么,如果只发出一个API请求,它的行为如何?谢谢你,乔希。我只是将函数限制为调用admin.auth().listUsers(BATCH_SIZE,nextPageToken)并检查结果。我确实得到了所需的值,但是主函数一直被阻塞。返回的值是一个对象..没有承诺或任何东西。怎么了?我能查什么?这肯定与我称之为承诺的方式有关,但我有点不知道该检查什么。非常感谢你,乔希!这就是解决办法。感谢您的帮助Firebase提供了所有这些小示例,但没有一个真实示例:(非常感谢Josh!这就是解决方案。感谢您的帮助Firebase提供了所有这些小示例,但没有一个真实示例:(
await admin.app().delete();