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

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

问题描述

我有一些云功能,但它们突然停止工作,现在我得到 event.data undefined

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;
    }
   ...
}

我得到了

TypeError: Cannot read property 'previous' of undefined

此处是这样定义的.Firebase 云功能有什么变化?

This is how it is defined here. There was any change in firebase cloud functions?

推荐答案

云功能已更新至 1.0 版本,您可以在这里查看更多信息:

Cloud functions were updated to version 1.0, you can check here for more info:

https://firebase.google.com/docs/函数/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 现在有两个参数 changecontext.Changebeforeafter 属性,before 等价于 previous

onWrite now has two parameters change and context. Change has before and after properties, and before is equivalent to previous

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

Also change and before can use the methods listed here:

https://firebase.google.com/docs/参考/admin/node/admin.database.DataSnapshot

这篇关于Firebase 云功能停止工作 - event.data 未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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