Node Express函数执行两次

时间:2017-06-14 00:31:35

标签: node.js express async-await

我在server.js文件中定义了一条路线,如:

app.use('/file', require('./server/routes/file.js'));

位于file.js

的顶部
var express = require('express');
var router = express.Router();
var outsideHelper = require('./outsideHelper');
 ...

router.post('/file', async function(req, res, next){
  //Code
   var connection = await dbFunc.dbConnect(sqlPool);
   var result = await outsideHelper.DoStuff(res, connection);
})

module.exports = router;

outsideHelper工作正常,并通过

导出到该文件中
module.exports = {
  DoStuff: async function(res, connection){
    try {
      var localSiteRes = await localFileFunction(res, connection);
      return localSiteRes;
    }catch(err){
      return false;
    }

  }

网络只向file.js显示一个请求,但是当在此请求outsideHelper.DoStuff内使用router.post('/file...函数时,请求将在服务器端运行两次。但是,当我从中移除outsideHelper函数时,它只运行一次。

除了在启动本地服务器后的第一次尝试之外,一切正常。

  • 我的outsideHelper.js中没有为server.js定义的路由,因为它不是外部调用的路由,在file.js文件中需要它。
  • localFileFunction使用JSFTP

仍然是node.js和express的新手。

提前致谢

0 个答案:

没有答案
相关问题