提取Firestore文档时,node.js控制台窗口保持挂起状态

时间:2019-05-25 17:34:11

标签: node.js command-line google-cloud-firestore

我一直在网上关注有关使用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...");
  }
});

当我在控制台中运行代码时,它会进行匿名身份验证并按预期返回用户iD和文档。

但是以某种方式它挂在了Promise上,控制永远不会返回到控制台。我必须使用Ctrl-C终止命令。见下文:

control not returned to console

我做错什么了吗?

0 个答案:

没有答案