Функция Firestore then () не выполняется после set () - PullRequest
0 голосов
/ 24 апреля 2018

Я создаю новый документ в пожарном депо, используя функцию set. Я хочу использовать данные документа после того, как функция set поместит данные в базу данных.

            // Add each record to their respective heads
        let docRef = headCollectionRef.doc(data.headSlug).collection(recordsCollection)
            .doc(String(data.recordData.sNo))
        docRef.set(data).then(docSnap => {
            agreementData.push(
                docSnap.get().then(data => {
                    return data
                })
            )
        })

Ничего из написанного в then() не выполняется.

Любая помощь очень ценится

1 Ответ

0 голосов
/ 24 апреля 2018

set возвращает Promise<void>, поэтому у вас нет доступа к данным документа внутри then.

Это ситуация, когда async / await значительно облегчит чтение вашего кода.

async function cool() {
  const docRef = headCollectionRef.doc(...)

  await docRef.set(data)

  const docSnap = await docRef.get()

  agreementData.push( docSnap.data() )

}

https://firebase.google.com/docs/reference/js/firebase.firestore.DocumentReference#set

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...