【问题标题】:Firestore merge does not return a PormiseFirestore 合并不返回 Promise
【发布时间】:2019-03-05 05:24:25
【问题描述】:
【问题讨论】:
标签:
firebase
google-cloud-firestore
【解决方案1】:
将{merge: true} 选项与set() 方法一起使用不会改变该方法在返回内容方面的行为。正如documentation 中所解释的,该方法确实返回了一个 Promise:
返回: 包含 void 的非空 Promise。一个承诺,一旦解决
数据已成功写入后端。 (注意不会
离线时解决)。
所以,除非你处于离线状态,否则你可以很好地执行以下操作:
db.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA"
},
{merge: true})
.then(function() {
// ->>> Here you can be sure that "it has completed the set/merge operation"
console.log("Document successfully written!");
})
.catch(function(error) {
console.error("Error writing document: ", error);
});