如何确认我的http服务器已正确关闭?

时间:2017-03-21 23:30:02

标签: node.js express typescript

我正在创建一个expressjs应用程序,为了测试我“promisified”我的服务器启动:

startHttpServer(): Promise<any> {
    let self = this;
    return new Promise(function(resolve, reject) {
        logInfo('Starting http server...');
        self.httpServer = self.app.listen(self.options.port, () => {
            logInfo('Listening on port %O', self.options.port);
            resolve();
        }).on('error', () => {
            logError('Failed to start the server on port %O', self.options.port);
            reject();
        });
    });
}

我如何“宣传”我的联系关闭?

1 个答案:

答案 0 :(得分:1)

  

我如何“宣传”我的联系关闭?

您可以在close返回的基础http服务器上收听listen事件:https://nodejs.org/api/http.html#http_event_close

更多

注意:只有一次才能解析或拒绝承诺,因此您不应再resolve听取。

如果你想通知listen和close,而其他人则使用observable。