Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法读取属性';儿童';未定义的_Javascript_Android_Google Cloud Functions - Fatal编程技术网

Javascript TypeError:无法读取属性';儿童';未定义的

Javascript TypeError:无法读取属性';儿童';未定义的,javascript,android,google-cloud-functions,Javascript,Android,Google Cloud Functions,我一直在研究这个问题,但似乎找不到答案 我有一个带车手和司机的应用程序。当骑手请求骑乘时,它会将“历史”子项添加到db中。我也有一些功能,但当这个应用程序被执行时,日志会在添加“history”子项之前导致错误 index.js: exports.newRequest=functions.database.ref('/history/{pushId}').onCreate(事件=>{ var requestSnapshot=event.data; var distance=requestSna

我一直在研究这个问题,但似乎找不到答案

我有一个带车手和司机的应用程序。当骑手请求骑乘时,它会将“历史”子项添加到db中。我也有一些功能,但当这个应用程序被执行时,日志会在添加“history”子项之前导致错误

index.js:

exports.newRequest=functions.database.ref('/history/{pushId}').onCreate(事件=>{
var requestSnapshot=event.data;
var distance=requestSnapshot.child('distance').val();
var价格=距离*0.5;
var pushId=event.params.pushId;
返回requestSnapshot.ref.parent.child(pushId).child('price').set(price);

});您正在对Firebase SDK的新版本的云函数使用旧API。您需要更新到新的API。特别是,您需要注意firebase函数1.0版中的更改

特别是。您正在对数据库触发器的第一个参数使用老式的“event”参数:

exports.newRequest =
functions.database.ref('/history/{pushId}').onCreate(event => {
    // ...
})
在1.0中,更改为接受一个和一个对象:


有关更多详细信息,请参阅文档。

我已按照建议更新了API,并已更改为exports.newRequest=functions.database.ref('/history/{pushId}')。onCreate((快照,上下文)=>{…对于代码的其余部分…我已将“event”更改为“snap”但是,代码中的上下文在哪里发生了更改?您没有在快照和上下文参数周围加括号。我按照您的建议做了(快照,上下文)参见编辑#2它似乎“有些”起作用,现在让它做我需要它做的事情(将在另一个问题中发布)非常感谢
exports.newRequest =
functions.database.ref('/history/{pushId}').onCreate((snapshot, context) => {
    // ...
})