node.js - Firebase 管理员:列出所有用户返回空数组
问题描述
我有一个 https 可调用的 firebase 云函数,可以将所有用户作为他们的 userRecords 数组返回。我将每个 userRecords 推入一个稍后返回的数组中,但它返回一个空数组。
如何将此数组返回给客户端?
index.js:
exports.listAllUsers = functions.https.onCall((data, context) => {
// List all users
return listAllUsers();
});
function listAllUsers(nextPageToken) {
// List batch of users, 1000 at a time.
var allUsers = [];
return admin.auth().listUsers(1000, nextPageToken)
.then(function (listUsersResult) {
listUsersResult.users.forEach(function (userRecord) {
// For each user
var userData = userRecord.toJSON();
allUsers.push(userData);
});
if (listUsersResult.pageToken) {
// List next batch of users.
console.log('Next batch of users');
return listAllUsers(listUsersResult.pageToken)
}
else {
// All users have been fetched
console.log('All users have been fetched');
return allUsers
}
})
.catch(function (error) {
console.log("Error listing users:", error);
});
}
客户端
const listAllUsers = this.afFunctions.httpsCallable('listAllUsers');
listAllUsers({}).toPromise()
.then(function (result) {
console.log(result);
});
}
解决方案
推荐阅读
- flutter - 在 Flutter 之外使用 StreamProvider 的 RiverPod 方式是什么 - 仅限 Dart
- python - 不和谐恶意软件
- firebase - 如何在 Vue 中从 Firebase 获取特定文档
- google-play-console - Play 管理中心 - 使用 Google Groups 电子邮件进行封闭式测试...失败
- python - Selenium(PYTHON) 检查元素是否存在
- python - 如何使用其他 2 个列表的值获取子列表的一些值?
- java - ByteBuddy 拦截的方法没有被调用
- ios - Vonage 视频位置
- node.js - Nodejs Nodemailer不发送电子邮件
- javascript - 数组过滤器方法不返回修剪值