【问题标题】:How do I get firestore collection reference from within then() function?如何从 then() 函数中获取 firestore 集合引用?
【发布时间】:2018-11-05 22:10:21
【问题描述】:

我正在使用 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) 
  })
})

【问题讨论】:

  • 最新代码有什么问题?
  • 我尽我所能从 then 函数中获取集合引用“firebaseRef”。我试过,将“e”传递给 bindFirebaseRef,但它没有用。我不断收到类型错误。显然“e”与“firebaseRef”不同。

标签: firebase google-cloud-firestore vuexfire


【解决方案1】:

您需要将对该集合的引用声明为变量,然后才能将其传递给您的函数:

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

【讨论】:

    猜你喜欢
    • 2020-06-03
    • 2020-11-26
    • 2021-10-31
    • 2018-03-28
    • 2019-07-16
    • 2018-07-13
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    相关资源
    最近更新 更多