最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 6浏览 0评论

使用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'回调出错

我有这个代码

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' });
 });
})
发布评论

评论列表 (0)

  1. 暂无评论