Я настраиваю простой сервер с nodejs с подключением администратора Firestore, уже настраиваю соединение, но когда я вызываю
dbFB.collection('users').get()
.then((response) => {
})
.catch((err) => {
})
, вся функция выглядит так:
function userExist(name) {
return new Promise((resolve, reject) => {
var dbFB = initializeApp();
var result = dbFB.collection('users').get().then((response) => {
var snap = response.docs;
console.log('snap', snap);
if (!snap.empty) {
snap.forEach((doc) => {
console.log(doc.id, '=>', doc.data());
if (name == doc.data().name) {
console.log('foreach');
resolve(doc.data().idFB);
}
});
}
reject("User does no exist");
})
.catch((err) => {
console.log('Error getting documents', err);
reject(err);
})
});
}
Здесь я запускаю функцию userExist =>
const self = module.exports = {
configureUsers: function (name) {
return new Promise( (resolve, reject) => {
console.log(`Name: ${name}`);
const userResponse = userExist(name);
userResponse.then((user) => {
console.log('Begin promise USEREXIST');
if (user != "") {
console.log(`idFB: ${user}`);
let users = [];
// wipe users
db.set('users', {}).write();
users.push(user);
db.set(`users[${user}]`, {
keyFilePath: path.resolve(__dirname, `configurations/secrets/omni.json`),
savedTokensPath: path.resolve(__dirname, `configurations/tokens/${user}.json`)
}).write()
resolve(db.getState())
console.log("User exists");
rl.close();
}
reject('User does not exists');
rl.close();
})
.catch((err) => {
console.log("Closing Catch");
reject(err);
rl.close();
})
});
}
}
Я никогда не получаю ответ ни в Then, ни в Catch, уже проверяю, что приложение firebase инициализировано со всеми параметрами, так что понятия не имею, что здесь может быть не так.
Что-то странное в том, что при использовании проекта Firebase появляется количество вызовов чтения, требуется время, чтобы появиться, но оно появляется ..
есть идеи?