process.on('unhandledRejection', (err, promise) => {
console.log(`Error: ${err.message}`.red);
//close server & exit process
let server;
server.close(() => process.exit(1));
});
C:UsersFordDesktopDevCamperAPIserver.js:48
server.close(() => process.exit());
^
TypeError: Cannot read properties of undefined (reading 'close')
有人能帮我一下吗?我想知道为什么我有这个错误,有人能帮我吗?nodejs
您的声明let server
没有分配任何值,服务器未定义。所以当你在未定义对象上调用close
时,你会得到这个错误。
在这种情况下,服务器变量是未定义的,因此当您试图在未定义的变量上调用方法时,代码执行失败。有多种方法可以使用不同的节点模块(如https、http、hapi等)创建服务器。如果您已经在此函数之外的模块中定义了服务器变量,那么您也可以使用它来关闭服务器。其中一种方法是:
var http = require('http');
var server = http.createServer(function (req, res) {
res.write('Application starting');
res.end();
});
server.listen(8080);
process.on('unhandledRejection', (err, promise) => {
server.close(() => process.exit(1));
});