如何在node.js中阻止server.js

时间:2019-07-18 16:24:37

标签: javascript node.js express async-await

问题陈述

我有server.js,其中有一个配置文件

我的server.js

  1. 某些进口

  2. 需要config.js-> api调用以获取config / promise调用

  3. 服务器开始使用config中的值

  4. 在获取配置之前,服务器尝试启动并由于配置为空而崩溃。

如何阻止进程超出config.js步骤

2 个答案:

答案 0 :(得分:0)

在兑现承诺之前,您无法启动服务器,这样您实际上就拥有一个非空的配置。

答案 1 :(得分:0)

我不知道我是否完全了解你的情况。但是,如果要在请求后启动服务器,则可以使用thenasync / await来完成。考虑以下简单代码段:

const express = require('express');
const app = express();
const getConfig = require('./config');

const expressConfigs = (app, config) => {
  app.get('/', (req, res) =>  {
    res.send('Hello World!');
  });

  app.listen(config.port, () => {
    console.log(`Example app listening on port ${config.port}!`);
  });
};

(async () => {
  const config = await getConfig();
  expressConfigs(app, config);
})();


OBS:config soube导出一个Promise,您可以为此使用node-fetch。

相关问题