如何使用nodejs在switch case中编写响应

时间:2017-08-14 09:46:03

标签: node.js postman

在控制台中它显示响应但在邮递员显示仅发送请求。如何在邮递员中返回有效的回复。如何编写我尝试过的所有代码。

到目前为止,这是我的代码:

 var sendStreamingTemplate = function (req, res) {

    authToken = req.headers.authorization;
    userAuthObj = JSON.parse(UserAuthServices.userAuthTokenValidator(authToken));
    var todayDate = new Date();
    var expireDate = new Date(userAuthObj.expire_date);
    tokenOK = TokenValidator.validateToken(userAuthObj.user_id, authToken).then(function (userSessions) {
        if (userSessions.length === 1) {
            if (expireDate >= todayDate) {
                StreamingTemplateId = req.params.id;

                Template.findById(StreamingTemplateId).then(function (streamingTemplate) {
                    if (streamingTemplate === null) {
                        res.status(404).json({
                            message: 'Streaming not found...'
                        })
                    } else {

                        console.log(streamingTemplate);
                      switch(streamingTemplate.template_name.toString().toLowerCase()){
                               case "notification":
                              //if write return response means it will return something went wrong
                                break;
                               case "invoice":

                                break;
                               case "voucher":

                                break;
                               default:

                               break;
                           }
                    }
                }).catch(function (err) {
                    res.status(500).json({
                        message: 'something went wrong...'
                    });
                });
            } else {
                res.status(401).json({
                    message: 'Not Authorized...'
                });
            }
        } else {
            res.status(401).json({
                message: 'Token Expired...'
            });
        }
    }).catch(function (err) {
        res.status(401).json({
            message: 'Token Expired...'
        });
    });
};

这是控制台中的输出:

Instance { 
    dataValues: { 
        id: 1, template_name: 'StreamNotification', description: 'Streaming', template_content: 'Mail notification', is_active: true 
    }, 
    _previousDataValues: {     
        id: 1, template_name: 'StreamNotification', description: 'Streaming', template_content: 'Mail notification', is_active: true 
    }, 
    _changed: {
    },
}

1 个答案:

答案 0 :(得分:0)

看起来当你点击switch语句时代码没有设置响应。请尝试在console.log行之后立即添加此内容:

res.json(streamingTemplate)

甚至

res.send(streamingTemplate)

取决于streamingTemplate的类型。您可能需要根据switch语句改变响应,在这种情况下,您可以在每个case中设置一些返回值,然后将响应移动到交换机的末尾。取决于你想要做的事情。