Как получить ссылку на коллекцию firestore из функции then ()? - PullRequest
0 голосов
/ 27 мая 2018

Я использую vuexfire для привязки ссылок firebase к состоянию моего приложения.

Это прекрасно работает:

bindRef: firebaseAction(({bindFirebaseRef}, payload) => {
let firebaseRef = db.collection(`/${payload}`)
  bindFirebaseRef('storeProperty',firebaseRef)
})

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

Примерно так:

bindRef: firebaseAction(({bindFirebaseRef}, payload) => {
  let firebaseRef = db.collection(`/${payload}`).get().then(e => {
   //where ref is same as firebaseRef
    bindFirebaseRef('questions',ref) 
  })
})

1 Ответ

0 голосов
/ 27 мая 2018

Вам необходимо объявить ссылку на эту коллекцию как переменную, и только тогда вы можете передать ее своей функции:

bindRef: firebaseAction(({bindFirebaseRef}, payload) => {
  let firebaseRef = db.collection(`/${payload}`)
  firebaseRef.get().then(e => {
   //pass firebaseRef to the function
    bindFirebaseRef('questions',firebaseRef) 
  })
})
...