我正在创建一个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();
});
});
}
我如何“宣传”我的联系关闭?
答案 0 :(得分:1)
我如何“宣传”我的联系关闭?
您可以在close
返回的基础http服务器上收听listen
事件:https://nodejs.org/api/http.html#http_event_close
注意:只有一次才能解析或拒绝承诺,因此您不应再resolve
听取。
如果你想通知listen和close,而其他人则使用observable。