Преобразование круговой структуры в JSON при JSON .stringify () при stringify
Эта ошибка вызвана строковой структурой круговой структуры. Круговая структура - это структура, которая имеет атрибут / атрибут глубины, который ссылается на себя.
const a = {}
a.b = a; // this creates a circular structure
Первый Вы должны проверить, создает ли функция stripUserSensitiveInfo
круговую структуру. Это возможно потому, что ошибка произошла, когда объект user
является результатом функции и возвращается в первом фрагменте.
Second , как указано в этом комментарии { ссылка } , в первом фрагменте переменная parsedUsers
фактически содержит массив обещаний вместо массива пользовательских данных. Чтобы разрешить массив обещаний, используйте Promise.all()
const parsedUsers = await Promise.all(listUsersResult.users
.map(stripUserSensitiveInfo)
.map(async user => {
console.log("try read_______________" + user.uid);
let userProfileSnapshot = await admin
.database()
.ref("users/" + user.uid)
.once("value");
console.log("end try read_______________" + user.uid);
return { ...user, userProfileSnapshot }; // You might also want to tweak this structure
}));
Еще один , немного из топи c, предполагая, что admin.database().ref("users/" + user.uid).once("value")
- это сетевой вызов, вы Возможно, вы захотите использовать for...of statement
вместо карты. Это сделано для того, чтобы приложение не затопляло сетевое соединение, выполняя слишком много сетевых запросов, в зависимости от значения переменной amount
.