我的Firebase Cloud函数与Object一起失败.value不是函数错误吗



当我试图在registrationTokens下获取Firebase子节点的值时,为什么会出现以下错误:

数据库结构:

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

控制台输出:

TypeError:Object.values不是函数

我部署到Firebase云功能的部分功能:

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,云功能允许您部署到节点8。因此,如果您确实需要使用Object.values((,则应该将其部署到节点8。或者你可以使用相当于lodash的物质。

相关内容

  • 没有找到相关文章

最新更新