From 586f99b08d810f77c512f053c35538b2655d8106 Mon Sep 17 00:00:00 2001 From: curbengh <43627182+curbengh@users.noreply.github.com> Date: Sat, 5 Oct 2019 12:55:14 +0100 Subject: [PATCH] refactor: async/await --- .eslintrc | 7 +++++-- lib/server.js | 18 +++++++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.eslintrc b/.eslintrc index 91288aa..eab7721 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,4 +1,7 @@ { "extends": "hexo", - "root": true -} \ No newline at end of file + "root": true, + "parserOptions": { + "ecmaVersion": 2017 + } +} diff --git a/lib/server.js b/lib/server.js index e38bb0f..11be1b5 100644 --- a/lib/server.js +++ b/lib/server.js @@ -8,20 +8,24 @@ const open = require('open'); const net = require('net'); const url = require('url'); -module.exports = function(args) { +module.exports = async function(args) { const app = connect(); const { config } = this; const ip = args.i || args.ip || config.server.ip || undefined; const port = parseInt(args.p || args.port || config.server.port || process.env.port, 10) || 4000; const { root } = config; - return checkPort(ip, port).then(() => this.extend.filter.exec('server_middleware', app, {context: this})).then(() => { + try { + await checkPort(ip, port); + await this.extend.filter.exec('server_middleware', app, {context: this}); + if (args.s || args.static) { - return this.load(); + await this.load(); } - return this.watch(); - }).then(() => startServer(http.createServer(app), port, ip)).then(server => { + await this.watch(); + + const server = await startServer(http.createServer(app), port, ip); const addr = server.address(); const addrString = formatAddress(ip || addr.address, addr.port, root); @@ -33,7 +37,7 @@ module.exports = function(args) { } return server; - }).catch(err => { + } catch (err) { switch (err.code) { case 'EADDRINUSE': this.log.fatal(`Port ${port} has been used. Try other port instead.`); @@ -46,7 +50,7 @@ module.exports = function(args) { this.unwatch(); throw err; - }); + } }; function startServer(server, port, ip) {