Окно консоли node.js остается зависшим при получении документов Firestore - PullRequest
0 голосов
/ 25 мая 2019

Я следовал онлайн-урокам по созданию приложения для чата с Node и Firestore.

Мой код выглядит так:

const firebaseConfig = require('./firebase_config');
const firebase = require('firebase');
firebase.initializeApp(firebaseConfig);
var db = firebase.firestore();

firebase.auth().signInAnonymously().catch(function(error) {
  console.log(error.code);
  console.log(error.message);
});

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    var isAnonymous = user.isAnonymous;
    var uid = user.uid;
    console.log();
    console.log("User is anonymous: ", isAnonymous);
    console.log("User ID: ", uid);

    var chats = db.collection("Chats");
    var all_chats = chats.get()
      .then(snapshot => {
        snapshot.forEach(entry => {
          console.log(entry.id, '->', entry.data());
        });
      })
      .catch(err => {
        console.log("An error occurred: ", err);
      });
  } else {
    console.log("Authenticating...");
  }
});

Когда я запускаю код в консоли, он выполняет аутентификацию анонимно и возвращает идентификатор пользователя и документы, как и ожидалось.

Но каким-то образом оно зависит от обещания, и управление никогда не возвращается на консоль. Я должен завершить команду с помощью Ctrl-C. Смотрите ниже:

control not returned to console

Я что-то не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...