NodeJS Promises挂起res.send(数据)

时间:2016-06-30 14:35:11

标签: node.js express es6-promise multer

我正在研究NodeJS服务器并执行一些文件解析并将结果发送回AngularJS客户端。我有以下路由器电话:

router.post('/parseFile', upload.single('file'), function(req, res, next) {                                          
let response = response_template                                                                               
let promise = new Promise(function(resolve, reject) {                                                          
    commands.parseFile(req.file.filename,                                                    
                       req.file.originalname,                                                
                       resolve,                                                              
                       reject);                                                              
})                                                                                                             
    .then(function(result) {                                                                                   
        console.log("This is working", result);                                                                
        res.status(200);                                                                                       
        res.send(data);                                                                                        
        console.log("Should be here...?");                                                                     
    }, function(error) {                                                                                       
        console.log("There was an error", error);                                                              
        res.status(400);                                                                                       
        res.send(data);                                                                           
    });                                                                                                        

});

日志语句会说“这是有用的”并打印出结果。但是,它不会在res.send(数据)之后打印“应该在这里......?”语句。

数据也从未发送,客户端表示未收到任何回复。我查看了Promise文档,但我无法理解我做错了什么。任何帮助都非常感谢。谢谢!

1 个答案:

答案 0 :(得分:1)

data未定义。你的代码部分正在抛出,并且正在吞下异常。也许你的意思是使用result