gpt4 book ai didi

javascript - 使用异步和递归的 JS 程序卡在主进程中

转载 作者:行者123 更新时间:2023-12-02 23:36:09 25 4
gpt4 key购买 nike

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

**用户函数(它返回没有问题的用户)

admin.auth().listUsers 返回一个 listUsersResult 对象,其属性为 nextPageToken 和一个 users 数组

const BATCH_SIZE = 2;

const listAllUsers = async (nextPageToken = undefined) => {
let listUsersResult = await admin.auth().listUsers(BATCH_SIZE, nextPageToken);

if (listUsersResult.pageToken) {
return listUsersResult.users.concat(await listAllUsers(listUsersResult.pageToken));
} else {
return listUsersResult.users;
}
};

主例程(这是卡住的例程)

const uploadUsersMain = async () => {
try {

// if I comment out this call, then there is no problem
let firestoreUsers = await listAllUsers();
} catch(error) {
log.error(`Unable to retrieve users ${error}`)
}
finally {
// do stuff
}
}

uploadUsersMain();

什么问题可能会导致主程序无法结束?我应该寻找什么?谢谢

最佳答案

要关闭您的脚本,您应该使用

await admin.app().delete();

只要有句柄,Node.js 就会安静地保持运行,句柄实际上可以是任何东西——当然是网络套接字。

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

关于javascript - 使用异步和递归的 JS 程序卡在主进程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com