Firebase 云函数停止工作 - event.data 未定义 [英] Firebase cloud functions stopped working - event.data undefined
问题描述
我有一些云功能,但它们突然停止工作,现在我得到 event.data undefined
exports.newMessageReceived = functions.database.ref('/messages/{pushId}').onWrite((事件) => {if (event.data.previous.exists() || !event.data.exists() ) {//如果数据被编辑或删除,什么都不做console.log('消息被编辑或删除 - 跳过');返回;}...}
我明白了
TypeError: 无法读取未定义的属性 'previous'
这是此处的定义方式.Firebase 云功能是否有任何变化?
云功能更新到1.0版本,更多信息请查看:
https://firebase.google.com/docs/函数/beta-v1-diff#realtime-database
关于问题,你需要把代码改成这样:
exports.newMessageReceived = functions.database.ref('/messages/{pushId}').onWrite((change,context) => {if (change.before.exists() || !change.after.exists() ) {//如果数据被编辑或删除,什么都不做console.log('消息被编辑或删除 - 跳过');返回;}}
onWrite
现在有两个参数 change
和 context
.Change
有 before
和 after
属性,before
等价于 previous
>
还有 change
和 before
可以使用这里列出的方法:
https://firebase.google.com/docs/参考/admin/node/admin.database.DataSnapshot
I have some cloud functionsbut they suddenly stopped working, now I'm getting event.data undefined
exports.newMessageReceived = functions.database.ref('/messages/{pushId}')
.onWrite((event) => {
if (event.data.previous.exists() || !event.data.exists() ) {
//Do nothing if data is edited or deleted
console.log('Message edited or deleted - skip');
return;
}
...
}
And I get
TypeError: Cannot read property 'previous' of undefined
This is how it is defined here. There was any change in firebase cloud functions?
Cloud functions were updated to version 1.0, you can check here for more info:
https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database
Regarding the question, you need to change the code into this:
exports.newMessageReceived = functions.database.ref('/messages/{pushId}').onWrite((change,context) => {
if (change.before.exists() || !change.after.exists() ) {
//Do nothing if data is edited or deleted
console.log('Message edited or deleted - skip');
return;
}
}
onWrite
now has two parameters change
and context
. Change
has before
and after
properties, and before
is equivalent to previous
Also change
and before
can use the methods listed here:
https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot
这篇关于Firebase 云函数停止工作 - event.data 未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!