首页 > 解决方案 > 路由文件中的函数调用 - node.js

问题描述

下面的代码不起作用,因为有函数调用。

function checkQueryStringExists(request) {
    var url_parts = url.parse(request.url, true);
    var api_token = url_parts.query.api_token;
    if(typeof api_token === 'undefined') {
        return false;
    }
    return true;
}

router.post("/get-profile", function(request, response) {
    response.setHeader('Content-Type', 'application/json');

    var result = checkQueryStringExists(request);
    if(!result) {
        response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
    }
});

下面的代码有效,因为函数调用已被删除

router.post("/get-profile", function(request, response) {
    response.setHeader('Content-Type', 'application/json');

    var url_parts = url.parse(request.url, true);
    var api_token = url_parts.query.api_token;
    if(typeof api_token === 'undefined') {
        response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
    }

});

这是否意味着我们不能像上面那样在 node.js 中使用函数?

标签: node.js

解决方案


在 node js 中,您可以在不指定 function 关键字的情况下定义您的函数。您可以有两种方法来定义您的函数:

方法 1

checkQueryStringExists(request) {
    var url_parts = url.parse(request.url, true);
    var api_token = url_parts.query.api_token;
    if(typeof api_token === 'undefined') {
        return false;
    }
    return true;
}

方法 2

checkQueryStringExists = (request) => {
    var url_parts = url.parse(request.url, true);
    var api_token = url_parts.query.api_token;
    if(typeof api_token === 'undefined') {
        return false;
    }
    return true;
}

阿瓦夫特


推荐阅读