Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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:request.val不是函数_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript TypeError:request.val不是函数

Javascript TypeError:request.val不是函数,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我有一个语句console.log(request.key)它的工作原理与预期一样。但是当执行一个语句console.log(request.val())时,它会给出一个错误,即request.val不是一个函数 const post = database.database().ref("/redux-todo/"); let obj={ value } let request = post.push(obj) console.lo

我有一个语句
console.log(request.key)
它的工作原理与预期一样。但是当执行一个语句
console.log(request.val())
时,它会给出一个错误,即
request.val
不是一个函数

const post = database.database().ref("/redux-todo/");
    let obj={
            value
        }
    let request = post.push(obj)
    console.log(request.key);

请提供帮助。

如果您想在数据库中的某个位置获取数据,您必须。不能只创建引用并对其调用val()


我建议您考虑在该位置的数据库引用上使用。

如果您将值推送到firebase节点,其原因是返回推送数据后创建的新节点的密钥

要从firebase获取值,您应该使用
child\u added
事件查询新创建的节点,该事件在推送新节点时调用,并返回子节点的
val()
对象。同样地

const post = database.database().ref("/redux-todo/");
    let obj={
            value
        }
    let request = post.push(obj)
    console.log(request.val());
注意:如果使用对象添加多个子节点,则为创建的每个节点多次调用
child\u added
事件

const post = database.database().ref("/redux-todo/");
    let obj={
            value
        }
    let request = post.push(obj)
    // the child added event is called whenever you pushed a child into your node in firebase and we can query it using on() function to get the value of child added.
    post.on("child_added", snapshot => {
       console.log(snapshot.val())
    })