模板文字导致无法识别的令牌错误

时间:2018-04-28 05:16:51

标签: javascript sqlite discord.js

我正在使用Discord.js编写不和谐机器人,并且在将其添加到我的主项目之前我正在尝试使用SQLite。我或多或少地跟着this guide,然后修改了代码,使其更接近主要项目的目标。

有一段代码导致问题:

sql.get(`SELECT * FROM scores WHERE userId ="${message.author.id}"`).then( row => 
{
  if ( row )
  {
    let nufu = JSON.stringify( new foo() );
    sql.run(`UPDATE scores SET object = ${nufu} WHERE userId = ${message.author.id}`);
  }
  else
  {
    sql.run("INSERT INTO scores (userId, object) VALUES (?,?)", [message.author.id, JSON.stringify( new foo() )] );
  }
}).catch( () => {
  console.error;
  sql.run("CREATE TABLE IF NOT EXISTS scores (userId TEXT, object TEXT)");
});

特别是${nufu}导致:

  

(node:12348)UnhandledPromiseRejectionWarning:错误:SQLITE_ERROR:无法识别的令牌:" {"
(节点:12348)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误源于在没有catch块的情况下抛出异步函数,或者拒绝未使用.catch()处理的promise。 (拒绝id:1)

${nufu}替换为"any_other_string"消除了错误,但${JSON.stringify( new foo() )}没有,

${message.author.id}不会导致此类问题。

我做错了什么?

0 个答案:

没有答案