无法读取未定义的属性“以前”[重复]
Posted
技术标签:
【中文标题】无法读取未定义的属性“以前”[重复]【英文标题】:Cannot read property 'previous' of undefined [duplicate] 【发布时间】:2020-04-22 21:08:38 【问题描述】:firebase 中的函数向我抛出此错误:
TypeError: Cannot read property 'previous' of undefined
at exports.sendNotifications.functions.database.ref.onWrite (/srv/index.js:5:19)
at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23)
at /worker/worker.js:825:24
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:229:7)
我的代码是这样的:
exports.sendNotifications=functions.database.ref('/notifications/notificationId').onWrite((event)=>
if(event.data.previous.val())
return;
if(!event.data.exists())
return;
)
知道如何解决这个问题吗?
【问题讨论】:
因为 event.data 未定义。可能是因为您正在获取一个不存在的通知。 您似乎在使用旧教程或其他东西。 Cloud Functions 的签名已更改(很久以前)。有关如何更新的信息,请参阅***.com/questions/51782831/…(这是我search for the error message时弹出的第一个问题)。 【参考方案1】:这通常意味着event
始终没有属性data
。所以你需要先检查:
if('data' in event && event.data.previous.val())
return;
【讨论】:
【参考方案2】:发生这种情况是因为事件内部没有数据,因此请先检查。其中一种方法是:
exports.sendNotifications=functions.database.ref('/notifications/notificationId').onWrite((event)=>
if(!event.data)
return;
if(event.data.previous.val())
return;
if(!event.data.exists())
return;
)
【讨论】:
以上是关于无法读取未定义的属性“以前”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法读取未定义()离子3的属性'toastController' [重复]