繁体   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