【发布时间】:2021-02-12 15:12:31
【问题描述】:
我有一个非常简单的 Firestore 应用。除了设置firebase.initializeApp(firebaseConfig);之外,就只有这个了:
db.collection("users").add({
username: username
})
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});
然而,当我使用node index.js 运行此应用程序时,它会写入Document written with ID: XYZ,然后需要一分钟才能结束并将控制权交还给终端。我可能在这里没有使用精确的术语,因此也将不胜感激。
这是有原因的吗?我应该终止连接还是什么?
【问题讨论】:
-
您可以将
process.exit()放入.then()处理程序中。 -
Firestore 似乎有一个
.terminate()方法来关闭所有打开的流。还有一个.waitForPendingWrites()方法返回一个承诺,我不知道你是否必须在调用.terminate()之前先调用它(并等待完成),或者.terminate()是否为你处理。 -
此处Why is my nodejs script waiting 60 seconds before terminating 进行了类似的讨论,尽管它的建议与使用
.terminate()不同。但显然,有一些内部 Firestore 计时器会导致 60 秒问题。我不确定这个答案是否比使用.terminate()更好。 -
所以它实际上是一个 Firebase 的东西。感谢您的帮助!
标签: javascript node.js firebase google-cloud-firestore