Node.js 在主模块中执行http请求是否不好?

Node.js 在主模块中执行http请求是否不好?,node.js,express,Node.js,Express,我想在每次服务器启动时将外部资源(文件、服务器等)中的数据同步到我的数据库中 app.js const app = express(); app.use('/add', require('./addLayer')); ... (async() => { const external_resource = await axios.get('...'); // get data await axios.post('http://localhost:3000/add', e

我想在每次服务器启动时将外部资源(文件、服务器等)中的数据同步到我的数据库中

app.js

const app = express();
app.use('/add', require('./addLayer'));

...

(async() => {
    const external_resource = await axios.get('...'); // get data 
    await axios.post('http://localhost:3000/add', external_resource.data); // add it to db
});
const DBObject = require('../../models/DBObject')
const addNewLayer = async (req, res) => {
    try {
        const data = validateData(req.body)
        await DBObject.create(data)
    } catch (err) {
        res.status(400).send(err)
    }
}
addLayer.js

const app = express();
app.use('/add', require('./addLayer'));

...

(async() => {
    const external_resource = await axios.get('...'); // get data 
    await axios.post('http://localhost:3000/add', external_resource.data); // add it to db
});
const DBObject = require('../../models/DBObject')
const addNewLayer = async (req, res) => {
    try {
        const data = validateData(req.body)
        await DBObject.create(data)
    } catch (err) {
        res.status(400).send(err)
    }
}

我不想在
/add
路由(包括数据验证)中重新编写代码,但出于某种原因,我发现在这里执行POST请求并不好。有更好的方法吗?

这是什么意思呢?使用另一个文件来处理post请求将更加结构化,这将增加可读性和可重用性。我真的不知道,对于我(不是核心团队nodejs开发人员)来说,每次服务器启动时都需要执行post请求似乎有点奇怪。我想你建议的是一个更好的方法。是的,rolory,继续。如果你在任何时候还卡在那里,请告诉我。乐意帮忙:)