У меня есть следующая функция, которая читает массив и передает его на мой сервер
let storedProcedure = async (params, storedProcedureName) => {
const pool = await getOrCreatePool()
let request = await pool.request()
params.forEach((parameter) => {
parameterDirection = parameter.isOutput ? 'output' : 'input';
request = request[parameterDirection](parameter.name, parameter.type, parameter.value)
});
try {
return await request.execute(storedProcedureName)
} catch(err) {
console.error('StoredProcedure error', err);
return null;
}
}
и я так называю
apiRoutes.put('/update/:leadid', function(req, res) {
var param = validateUpdateLead(req.body, req.params.leadid)
var promise = sqlUtil.storedProcedure(param,'sp_Leads_UPD')
promise.then((result) =>
{
console.log('LeadID:' + req.params.leadid + ' Updated - ' + result.rowsAffected[0] + ' Rows Effected')
res.json({ success: true, RowsAffected : result.rowsAffected[0], UpdatedLeadID :req.params.leadid }).status(200)
})
.catch(err)
{
res.send('error':err )
}
})
когда я делаю это, мой системный узелJs жалуется, что "ReferenceError: err не определен", поэтому возникает вопрос, как я могу передать ошибку из моей функции в вызов и перехватить ее? Когда у меня есть звонки, которые терпят неудачу из-за одного или или или по причине, которую я получаю
(узел: 1512) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'leadid' из неопределенного
по обещанию.
at process._tickCallback (internal / process / next_tick.js: 68: 7)
(узел: 1512) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри асинхронной функции возникла ошибка без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (код отклонения: 1)
Поэтому я надеюсь, что это просто исправить