【问题标题】:firebase RTDB startAfter() is not a functionfirebase RTDB startAfter() 不是函数
【发布时间】:2021-11-23 13:31:03
【问题描述】:

我正在尝试使用 Vuefire 对项目列表进行分页,但由于某种原因,下面的代码出现错误(当我调用 startAfter() 时,该函数与 startAt() 一起正常工作)

lastVisible 是我的组件状态下的一个对象,其属性为 expire_date(一个 UNIX 时间戳)

这是我得到的错误

知道有什么问题吗?

    async seeFurtherGames() {
      var games_ref = db.ref('games')
      console.log("GameBrowser.seeOlderGames()", this.lastVisible, games_ref)
      if (this.lastVisible) {
        var start = this.lastVisible.expire_date
        var query = games_ref.orderByChild('expire_date').startAfter(start).limitToFirst(this.item_limit)
        await this.$bind("games", query)
        this.setLastVisible()
        
      }
    }
Uncaught (in promise) TypeError: games_ref.orderByChild(...).startAfter is not a function
    at _callee3$ (webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/GameBrowser.vue?vue&type=script&lang=js&:257)
    at f (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at Generator._invoke (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at Generator.next (chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content_script/inpage.js:141)
    at asyncGeneratorStep (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:9)
    at _next (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:31)
    at eval (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:38)
    at new Promise (<anonymous>)
    at eval (webpack-internal:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js:27)
    at VueComponent.seeFurtherGames (webpack-internal:///./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/GameBrowser.vue?vue&type=script&lang=js&:270)

【问题讨论】:

  • 你包含什么版本的 JavaScript SDK?
  • "firebase": "^8.2.0", @FrankvanPuffelen
  • 看来升级到 v9 解决了我的问题!

标签: javascript firebase vue.js firebase-realtime-database


【解决方案1】:

我可以通过将 firebase 从 v8 升级到 v9 来解决这个问题

【讨论】:

    【解决方案2】:

    在 JavaScript SDK 的 version 8.2.7 中引入了 Firebase 实时数据库中的 startAfterendBefore 操作。

    【讨论】:

      猜你喜欢
      • 2020-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 2020-09-17
      相关资源
      最近更新 更多