我有一个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);
});
}