Я работаю над AWS Lambda и пишу метод в Node.js, и когда я запускаю метод, он выдал ошибку
**Cannot read property 'totalCalls' of undefined**
вот мой код
const mysql = require('mysql');
const moment = require("moment");
var pool = mysql.createPool({
host: process.env.RDS_HOSTNAME,
user: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
port: process.env.RDS_PORT,
database: process.env.RDS_DATABASE
});
exports.handler = (event, context, callback) => {
console.log('Events:',event);
//let QueueID = event['queueId'];
// allows for using callbacks as finish/error-handlers
context.callbackWaitsForEmptyEventLoop = false;
pool.getConnection(function(err, connection) {
if (err) throw err;
var d = new Date();
let currentDay = moment(d).format('MM-DD-YYYY');
console.log('CurrentDay:',currentDay);
let sub = 6;
d.setDate(d.getDate() - sub);
d.setHours(00);
d.setMinutes(00);
let sql = `select * from ctrData2.CallDetail WHERE InitiationTimestamp > ? ORDER BY InitiationTimestamp ASC`;
//let field = [QueueID];
connection.query(sql,[d], function (err, result, ) {
if (err) throw err;
// connection.release();
var CallaboveSla =0;
var weeklySLAObject={};
result.forEach(d => {
if(weeklySLAObject[d.RoutingProfileName] !== undefined){
console.log('Do i comere here',weeklySLAObject)
weeklySLAObject.RoutingProfileName.totalCalls++;
if(d.AgentInteractionDuration > 180){
if(weeklySLAObject.RoutingProfileName.callsaboveSla){
weeklySLAObject.RoutingProfileName.callsaboveSla++;
}else{
weeklySLAObject.RoutingProfileName.callsaboveSla=0
}
}
}else{
weeklySLAObject[d.RoutingProfileName] = {totalCalls: 0,callsaboveSla:0};
}
// let date = new Date(d.ConnectedToAgentTimestamp);
// let DateNow = moment(date).format('MM-DD-YYYY');
// let datetoday = new Date();
// datetoday.setDate(datetoday.getDate() - 7); //set it to 6 days back
// weeklySLAObject.push(d);
});
let sla = (CallaboveSla/result.length)*100;
callback(null,weeklySLAObject);
});
});
};
Я понятия не имею, что это за ошибка с
Напечатано на консоли и удалось получить общее количество.
значения отображаются в консоль, но в ответ выдала ошибку.