【发布时间】:2020-10-23 14:09:27
【问题描述】:
这个错误并不总是发生,但它经常发生,我找不到任何解决方案。任何帮助将不胜感激。
PS:数据库中的表有'title'列,里面有数据。
守则:
async function selectNotificationData(control_message_id){
const sql = await new Promise((res,rej)=>{
let query = "SELECT title, body ,url_push, img_push, url_type, status,silent,channel FROM control_message WHERE id_control_message =?";
con.query(query, [control_message_id],(err,row)=>{
if(err) throw err;
let n =row[0];
let pf=null;
try{
pf = setPerFlagOptmized(n.title,n.body);
res({not_data:n,pf})
}
catch (err) {
console.log("[Row : "+row[0]+"]");
console.log("[n : "+n+"]");
console.log("ERROR IN SELECTING NOT DATA OR SETTING THE FLAG : "+err);
}
})
}).catch((error)=>{
console.log("ERROR IN SELECTING Notification DATA : "+error);
});
错误:
app_1 | /usr/src/app/node_modules/mysql/lib/protocol/Parser.js:437
app_1 | throw err; // Rethrow non-MySQL errors
app_1 | ^
app_1 |
app_1 | TypeError: Cannot read property 'title' of undefined
app_1 | at Query.con.query (/usr/src/app/v4/message/controllers/expandWorker.js:669:57)
app_1 | at Query.<anonymous> (/usr/src/app/node_modules/mysql/lib/Connection.js:526:10)
app_1 | at Query._callback (/usr/src/app/node_modules/mysql/lib/Connection.js:488:16)
app_1 | at Query.Sequence.end
(/usr/src/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
app_1 | at Query._handleFinalResultPacket
(/usr/src/app/node_modules/mysql/lib/protocol/sequences/Query.js:149:8)
app_1 | at Query.EofPacket
(/usr/src/app/node_modules/mysql/lib/protocol/sequences/Query.js:133:8)
app_1 | at Protocol._parsePacket
(/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:291:23)
app_1 | at Parser._parsePacket
(/usr/src/app/node_modules/mysql/lib/protocol/Parser.js:433:10)
app_1 | at Parser.write (/usr/src/app/node_modules/mysql/lib/protocol/Parser.js:43:10)
app_1 | at Protocol.write (/usr/src/app/node_modules/mysql/lib/protocol/Protocol.js:38:16)
我尝试登录
[Row : undefined]
[n : undefined]
setPerFlagOptmized 函数:
function setPerFlagOptmized(title,body){
var t = (title.includes("|*") || title.includes("*|") || title.includes("{{") || title.includes("}}"));
var b = (body.includes("|*") || body.includes("*|") || body.includes("{{") || body.includes("}}"));
return (t || b) ? 1:0;
}
【问题讨论】:
标签: javascript mysql node.js node-modules