簡體   English   中英

我的Firebase Cloud Function失敗,並顯示Object.value不是函數錯誤?

[英]My Firebase Cloud Function fails with Object.value is not a function error?

當我嘗試在registrationTokens下獲取Firebase子節點的值時,為什么會出現以下錯誤:

數據庫結構:

"fcmtokens" : {
    "dBQdpR7l1WT2utKVxdX2" : {
      "registrationTokens" : {
        "O": ""c4PSCAUAg5s:Yw95DyVxwElE88LwX7" 
      }
    }
  }

控制台輸出:

TypeError:Object.values不是函數

我部署到Firebase Cloud Functions的功能的一部分:

return admin.database().ref('/fcmtokens/' + toId + '/registrationTokens').once('value').then((userTok) => {

    const registrationTokens = Object.values(userTok.val());

    console.log('registrationTokens', registrationTokens

Object.values()是ECMAScript 2017中的新增功能。

Cloud Functions默認運行節點6,該節點僅支持ECMAScript 2015(ES6)。 因此,如果您在默認的Cloud Functions運行時中運行該代碼,則會收到該錯誤(因為該函數不存在)。

節點8支持ECMAScript 2017,並且Cloud Functions允許您部署到節點8。因此,如果確實需要使用Object.values(),則應該部署到節點8 或者您可以使用lodash等效項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM