# #javascript #google-cloud-firestore #async-await
Вопрос:
парни. Я использую Google Firestore для сохранения некоторых данных в базе данных. Если, например, я использую код, предоставленный Google, для замены или создания нового документа в базе данных, я получаю ошибку: Неперехваченная синтаксическая ошибка: Неожиданное зарезервированное слово. Я знаю, что проблема в том, что await можно использовать только с асинхронными функциями, но это не функции, созданные мной. Они импортируются из библиотек Firestore, и я использую код, предоставленный Google. Что здесь не так? Спасибо.
import { doc, setDoc } from "firebase/firestore";
await setDoc(doc(db, "cities", "LA"), {
name: "Los Angeles",
state: "CA",
country: "USA"
})
Ответ №1:
«Ожидание» только заставляет остальную часть кода ждать завершения метода.
Если вы хотите сохранить его:
import { doc, setDoc } from "firebase/firestore";
(async function() {
await setDoc(doc(db, "cities", "LA"), {
name: "Los Angeles",
state: "CA",
country: "USA"
})
})();
Если нет:
import { doc, setDoc } from "firebase/firestore";
setDoc(doc(db, "cities", "LA"), {
name: "Los Angeles",
state: "CA",
country: "USA"
});
Комментарии:
1. Я понимаю вашу точку зрения, но это очень запутанно, потому что код был предоставлен Google в качестве примера, и не только с помощью метода setDoc, но и со многими другими. Если ваша точка зрения верна, то почему Google использует такой код? Смотрите здесь: firebase.google.com/docs/firestore/query-data/get-data?hl=en
2. В случае с Google требуется функция ожидания, чтобы гарантировать, что функции вызываются одна за другой