首页 > 解决方案 > 如何在 node.js 中导入函数?

问题描述

我想在report.js文件中有两个函数我想要一个report_data是api控制器,第二个是test我想在函数test中使用函数report_data
下面是我的两个函数的代码。

var sequelize = require('../config/sequelize');
const Op = sequelize.Sequelize.Op;
var errors = require('../config/errors');
var error = errors.errors;
const helpers = require('../helpers/validations');
const logger = require('../helpers/logger').logger;
const fs = require('fs');

module.exports = {
    report_data: async (req, res) => {
        if (!req.body.id) {
            logger.warn(error.MANDATORY_FIELDS);
            return res.status(500).send(error.MANDATORY_FIELDS)
        }

        sequelize.sequelize.transaction(async (t1) => {
            console.log('socket connected')
        test(io)
           
            let result = error.OK
            logger.info(result);
            return res.status(200).send(result)

        }).catch(function (err) 
            logger.warn(err);
            console.log(err)
            return res.status(500).send(error.SERVER_ERROR)
        })
    },

    test: function (io) {
        console.log(io.sockets)
    }
};

标签: javascriptnode.jsfunction

解决方案


最简单的方法是声明test为命名的全局函数:

function test(io) {
    console.log(io.sockets)
}

module.exports = {
    report_data: async (req, res) => {
        // now you call call `test()` here
    },
    test: test,
}

推荐阅读