Использование опции {merge: true}
с методом set()
не меняет поведение метода с точки зрения того, что он возвращает.Как объяснено в документации , метод возвращает Обещание :
Возвращает: ненулевое Обещание, содержащее void.Обещание, которое разрешается после успешной записи данных в бэкэнд.(Обратите внимание, что он не будет разрешен, пока вы не в сети).
Поэтому, если вы не в сети, вы можете сделать следующее:
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);
});