Firebase 云函数停止工作 - event.data 未定义 [英] Firebase cloud functions stopped working - event.data undefined

查看:31
本文介绍了Firebase 云函数停止工作 - event.data 未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些云功能,但它们突然停止工作,现在我得到 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 现在有两个参数 changecontext.Changebeforeafter 属性,before 等价于 previous

还有 changebefore 可以使用这里列出的方法:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆