我在服务器上运行一个Node JS api。在角度应用程序中使用API来加载下拉值。有时我观察到浏览器中的空下拉列表呈现。
我检查了API的日志。它具有以下详细信息。
problem updating cache in get. { Error: connect ETIMEDOUT <IP address>:<port> at TCPConnectWrap.afterConnect [as oncomplete] (net.js:), errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect',
API使用node-mssql libaray连接从数据库获取记录。
由于错误,我无法确定问题出在哪里。
API路由:
router.get('/get-cities/:statecd', function (req, res, next) {
businessController.getCities(req,res,next);
});
businessController:
getCities: function (req, res, next) {
var params= [];
params.push(new Parameter('StateCd', sql.Int, req.params.statecd));
dbController.execProc('<procname>', params, function (err, data) {
if (err) {
next(err);
} else {
res.send(data);
}
})
}
数据库控制器
module.exports.execProc = async function (prcNm, params, callback) {
let con;
let result;
try {
con= await getConnection();
} catch (err) {
callback(err);
}
try {
request = new sql.Request(con);
if (parameterList) {
for (const param of parameterList) {
request.input(param.Nm, param.Ty, param.Val);
}
}
result = await request.execute(prcNm);
callback(result);
} catch (err) {
callback(err);
}
}