В следующем API-интерфейсе NodeJS база данных PostgreSQL вставляется с несколькими строками, а затем необходимо отправить тело ответа.Поскольку существует несколько сценариев, в которых может быть ошибка, мне нужно настроить тело ответа с кодом сообщения, который помогает определить возможную причину.Поэтому я использую объект resp
, который будет содержать клавишу code
для кода сообщения.Этот объект будет отправлен в ответ HTTP, где статус будет 200
(успех) или 500
(ошибка).
Однако я продолжаю получать пустое тело ответа.Область видимости переменной в порядке?
router.post('/', function (req, res, next) {
rdbmsPool.connect((err, client, release) => {
if (err) {
var resp = {
'Request-Id' : req.get('X-Request-Id'),
'code' : 'code'
}
res.status(500)
res.send(resp)
} else {
var resp = {}
for (k in someArray) {
client.query(queryString, colValues, (err, result) => {
if (err) {
resp = {
'Request-Id' : req.get('X-Request-Id'),
'code' : 'code'
}
res.status(500)
} else {
resp = {
'Request-Id' : req.get('X-Request-Id'),
'code' : 'code'
}
res.status(200)
}
})
}
for (k in someOtherArray) {
client.query(queryString, colValues, (err, result) => {
if (err) {
resp = {
'Request-Id' : req.get('X-Request-Id'),
'code' : 'code'
}
res.status(500)
} else {
resp = {
'Request-Id' : req.get('X-Request-Id'),
'code' : 'code'
}
res.status(200)
}
})
}
release()
res.send(resp)
}
})
});