如何以最佳实践启动Express服务器?

时间:2019-05-25 03:22:04

标签: node.js typescript express

我有一个用TypeScript编写的Express REST API服务器。

首先,我像这样启动服务器-

const initServer = async() => {
  await connectDb();
  await server.listen(secrets.port, secrets.hostname, () => {
    logger.info(
          `Running server at http://${secrets.hostname}:${secrets.port} in ${
            secrets.env
          } env and API version is ${secrets.apiVersion}`
        );
  });
}
initServer().catch(error => logger.error(`Init server went wrong with: ${error}`));

然后,我读了一篇博客文章,建议使用.then().catch()-

async function initServer() {
  // Connect the database first
  await connectDb()
    .then(() =>
      // then start the server
      server.listen(secrets.port, secrets.hostname, () => {
        logger.info(
          `Running server at http://${secrets.hostname}:${secrets.port} in ${
            secrets.env
          } env and API version is ${secrets.apiVersion}`
        );
      })
    )
    .catch(err => {
      logger.error(`Initializing server went wrong with: ${err}`);
      process.exit(1);
    });
}

然后我读了另一篇博客文章,说“先捕捉错误”-

async function initServer() {
  // Connect the database first
  await connectDb()
    // then start the server
    .then(() => server.listen(secrets.port, secrets.hostname))
    .catch(err => {
      logger.error(`Initializing server went wrong with: ${err}`);
      process.exit(1);
    })
    // then announce the server info
    .finally(() => {
      logger.info(
        `Running server at http://${secrets.hostname}:${secrets.port} in ${
          secrets.env
        } env and API version is ${secrets.apiVersion}`
      );
    });
}

但是我觉得我做的不对。请教育我我做错了。

我应该如何启动服务器?

0 个答案:

没有答案
相关问题