如何运行写在另一个文件中的功能代码并依次在nodejs中调用另一个文件

时间:2018-09-20 08:54:24

标签: node.js

我想在编写函数时运行我的函数,但是我们知道node.js是异步语言,所以以异步方式运行的代码在这里,我的问题始于我的代码,我想执行每一行代码按照他们写的顺序。

现在我的问题是如何在Node.js中顺序运行一个函数。

这是我在其中调用函数的index.js文件的代码

var request = require('request');
var requestHandling = require('../routes/request_handling_functions');

router.get("/example1", function (req, res) {

var result = 
 requestHandling.requestMethodGet('http://localhost:8083/getUserInfo/865c2c25-d9e7-412d-a064-326bd66c9e9c', res);
    console.log("===RESULT=====");
    console.log(result);
});

在上面的代码中,我想先调用requestMethodGet函数,然后再调用该函数的结果。但是整个事情出错了,它首先执行console.log行,然后调用该函数。

  

我在控制台中的输出是

===RESULT=====
undefined
  

这是我在其中定义该功能的文件

var request = require('request');     var log = require('log4js')。getLogger(“ index”);

module.exports = {
requestMethodGet: async function (url, res) {

    //SET ALL THESE PARATMETER TO MAKE REQUEST
    request.get({url: url}, function (e, r, body) {

        var errorResult = module.exports.validateResponseeData(e);

        console.log("====errorResult===in===Get==method====");
        console.log(errorResult);
        if (errorResult != "continue") {
            console.log("===im in not continue");
            res.send(errorResult);
        } else {

            //LOGING THE RESPONSE BODY
            log.info('body:', body);

            var responseData = JSON.parse(body);


console.log("======AUTHTOKEN=========DATA=====================");
            console.log('error:', e);
            console.log('statusCode:', r && r.statusCode);
            console.log('body:', body);
            console.log("====================================");
            console.log(responseData);

            res.send(responseData);
        }
    });
}

如果需要有关此问题的帮助或需要更多信息,请通知我。

1 个答案:

答案 0 :(得分:-5)

您可以将异步函数创建为Promise函数,然后使用async await并尝试catch方法javascript来依次访问它。

您可以查看此信息以获得更好的信息 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise