如何解决将所有 firebase 用户列为承诺的代码审查
我尝试将 firebase 列表中的所有用户代码转换为 promise 函数。我想一次性检索所有用户的数组,而不是使用函数回调。
谁能告诉我这是否会因为使用太多内存或其他问题而中断。
我将用户批处理参数保留为 1 以表明异步似乎确实有效。
const userArray = [];
// list all users
const listAllUsers = function (nextPagetoken){
return new Promise((resolve,reject) => {
admin
.auth()
.listUsers(1,nextPagetoken)
.then(async(listUsersResult) => {
listUsersResult.users.forEach((userRecord) => {
console.log('user',userRecord.email);
userArray.push(userRecord.email);
});
if (listUsersResult.pagetoken) {
console.log("There is a next page token")
await listAllUsers(listUsersResult.pagetoken);
resolve();
} else {
resolve();
}
})
.catch((error) => {
console.log('Error listing users:',error);
});
});
};
// Start listing users from the beginning,1000 at a time.
await listAllUsers();
解决方法
嗯……代码将使用至少与用户数量成线性关系的内存量。所以如果你对用户数量没有限制,你也无法预测它需要的内存量。
我立刻想到的问题是为什么需要所有用户的列表?你打算在整个列表上做什么,而你不能在一个用户页面上做?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。