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

在路由文件函数调用

IT培训 admin 2浏览 0评论

在路由文件函数调用

下面的代码无法正常工作,因为没有函数调用。

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的使用功能,如上面?

回答如下:

你绝对可以在使用的NodeJS功能。虽然使用功能的最好的办法是用异步/伺机这样可以保证你的函数的代码继续之前实际上返回。

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

router.post("/get-profile", async function(request, response) {
    response.setHeader('Content-Type', 'application/json');
    try{
        var result = await checkQueryStringExists(request);
        if(!result) {
            response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
        } catch (e){
          console.log(e)
    }
});

在路由文件函数调用

下面的代码无法正常工作,因为没有函数调用。

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的使用功能,如上面?

回答如下:

你绝对可以在使用的NodeJS功能。虽然使用功能的最好的办法是用异步/伺机这样可以保证你的函数的代码继续之前实际上返回。

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

router.post("/get-profile", async function(request, response) {
    response.setHeader('Content-Type', 'application/json');
    try{
        var result = await checkQueryStringExists(request);
        if(!result) {
            response.status(401).send(JSON.stringify({ "Status": false, "Message": "Invalid query string." }));
        } catch (e){
          console.log(e)
    }
});

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论