使用node.js将数据设置到firebase数据库后,'then'回调出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用node.js将数据设置到firebase数据库后,'then'回调出错相关的知识,希望对你有一定的参考价值。

我有这个代码

app.get('/updateSaving/:name/:amount' , function(req,res){
   console.log('sending request update saving');
   var d = new Date();
   date = d.toString();
   firebase.database().ref('saving/'+ req.params.name).set({
     name : req.params.name,
     amount: req.params.amount,
     last_date : date
}).then(function(res){
    console.log('Saving Updated');
    res.json({ success: 'true' });
 });
})

在我调用此代码之后,firebase设置了记录,但为什么我的回调res.json({ success: 'true' });出错? 这是错误UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): TypeError: Cannot read property 'json' of undefined

答案

Reference.set() method returns a void promise。你在你的res处理程序中声明了then(),该处理程序隐藏了res中的app.get()

解决方案是删除res解析处理程序中的set()

app.get('/updateSaving/:name/:amount' , function(req,res){
   console.log('sending request update saving');
   var d = new Date();
   date = d.toString();
   firebase.database().ref('saving/'+ req.params.name).set({
     name : req.params.name,
     amount: req.params.amount,
     last_date : date
}).then(function(){
    console.log('Saving Updated');
    res.json({ success: 'true' });
 });
})

以上是关于使用node.js将数据设置到firebase数据库后,'then'回调出错的主要内容,如果未能解决你的问题,请参考以下文章

REST API - Android Studio、Node.js、Firebase

使用 Node.js 将 json 文件写入 Firebase?

使用 Node.JS 的 iOS Firebase 手电筒/ElasticSearch Heroku 设置

firebase 和 node.js 的问题

Firebase RTDB .gzip 和 Node JS 编码

Firebase 函数 Node.js 转换流