alo*_*loj 4 javascript node.js firebase firebase-realtime-database google-cloud-functions
我有一些云功能,但它们突然停止工作,现在我得到 event.data 未定义
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;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我得到
TypeError: Cannot read property 'previous' of undefined
Run Code Online (Sandbox Code Playgroud)
此处是这样定义的。firebase 云功能有什么变化吗?
云功能已更新至 1.0 版,您可以在此处查看更多信息:
https://firebase.google.com/docs/functions/beta-v1-diff#realtime-database
关于这个问题,你需要把代码改成这样:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
onWrite现在有两个参数change和context。Change具有before和after属性,before等价于previous
也change和before可以使用这里列出的方法:
https://firebase.google.com/docs/reference/admin/node/admin.database.DataSnapshot
| 归档时间: |
|
| 查看次数: |
2936 次 |
| 最近记录: |