2017-08-05 49 views
0

的Javascript sqlite3的字符串。当我查询我的SQLite数据库中db.each字符串不会追加使用加法运算符不附加

var messages = "Global Message History: \n\n"; 

db.each(sql, [Article], (err, row) => { 
    if (err) { 
    throw err; 
    } 

    console.log(`[${row.message_timestamp}] <@${row.msg_id}> in #${row.channel_name} on Server "${row.server_name}": ${row.message_content}`); //Outputs all messages 
    messages += `[${row.message_timestamp}] <@${row.msg_id}> in #${row.channel_name} on Server "${row.server_name}": ${row.message_content}\n`; // Doesn't work 

}); 

sendMsg(messages); 

sendMsg();只能与所有的消息一旦被执行,但它似乎没有工作,输出仅Global Message History: \n\n

回答

0

一旦此方法是异步的,你应该叫sendMsg()complete说法db.each为:

var messages = "Global Message History: \n\n"; 

db.each(sql, [Article], (err, row) => { 
    if (err) { 
    throw err; 
    } 

    console.log(`[${row.message_timestamp}] <@${row.msg_id}> in #${row.channel_name} on Server "${row.server_name}": ${row.message_content}`); //Outputs all messages 
    messages += `[${row.message_timestamp}] <@${row.msg_id}> in #${row.channel_name} on Server "${row.server_name}": ${row.message_content}\n`; // Doesn't work 
}, function(){ sendMsg(messages) }); 

希望这会有所帮助。

+0

真棒的作品,不知道这存在。谢谢你的协助! – SelectJB