我正在使用http-server,并期望该错误会落入回调中:
return require('http-server').createServer().httpServer.listen(-1, (e) => {
console.log(e); // Error is not here
}
但它没有,我只能在catch中得到错误:
try {
return require('http-server').createServer().httpServer.listen(-1, (e) => {
console.log(e); // Error is not here
}
catch(e) {
console.log(e); //Error is here!
}
}
那么,如何在回调中获得错误?
答案 0 :(得分:0)
个人不具备使用http-server的经验,但我希望他们与原生的http服务器做同样的事情并返回一个均衡的服务器。
答案 1 :(得分:0)
.listen正在侦听给定端口上的所有成功流量(这里为-1),因此它不会捕获错误。您需要创建一个错误事件处理程序,如:
return (require('http-server').createServer()).on("error", err => {
return reject (err); // or your own error handling
});
或者更详细:
let server = require('http-server').createServer();
server.on("error", function (err) {
return reject(err); // or your own error handling
}
return server;