Html TypeError:数据不可编辑

Html TypeError:数据不可编辑,html,node.js,database,sqlite,Html,Node.js,Database,Sqlite,我正在尝试Node.js和sqlite数据库工作,遇到了这个问题,我现在陷入了困境 我的控制台错误是: TypeError: data is not iterable at db.all (C:\Users\Taylor\Desktop\book\index1.js:30:22) at Statement.errBack (C:\Users\Taylor\node_modules\sqlite3\lib\sqlite3.js:16:21) --> in Database#a

我正在尝试Node.js和sqlite数据库工作,遇到了这个问题,我现在陷入了困境

我的控制台错误是:

TypeError: data is not iterable
    at db.all (C:\Users\Taylor\Desktop\book\index1.js:30:22)
    at Statement.errBack (C:\Users\Taylor\node_modules\sqlite3\lib\sqlite3.js:16:21)
--> in Database#all('SELECT id, title FROM Jobs;', [Function])
at app.get (C:\Users\Taylor\Desktop\book\index1.js:26:6)
at Layer.handle [as handle_request] (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\Taylor\Desktop\book\node_modules\express\lib\router\index.js:275:10)
at urlencodedParser (C:\Users\Taylor\Desktop\book\node_modules\body-parser\lib\types\urlencoded.js:91:7)
这是我的js脚本:

app.get('/', async(req, res) => {
  const sql = 'SELECT id, title FROM Jobs;'
  console.log(sql)
  db.all(sql, (err, data) => {
    if(err) console.error(err.message)
    console.log(data)
    let list = '<ol>'
    for(const job of data) {
      console.log(job.title)
      list += `<li><a href="/details/${job.id}">${job.title}</a></li>`
    }
    list += '</ol>'
    console.log(list)
    res.render('index', {locals: {Jobs: list}})
  })
})
app.get('/',异步(req,res)=>{
const sql='SELECT id,title FROM Jobs;'
console.log(sql)
db.all(sql,(错误,数据)=>{
if(err)console.error(err.message)
console.log(数据)
让列表=“”
for(数据的常量作业){
console.log(job.title)
列表+=`
  • ` } 列表+='' console.log(列表) res.render('index',{locals:{Jobs:list}}) }) })
    我敢打赌您一定出错了。如果(err)没有停止回调,则
    数据可能未定义。谢谢!我发现是别人干的,更多的是和我的数据库有关。不客气。另一方面,如果您添加一个if块,比如
    if(err){console.err(err);return;}
    ,这将阻止回调继续处理其余代码并抛出其他误导性错误。您可能还希望添加一个
    res.code(500).end('发生错误)
    ,以便在出现数据库错误时向客户端发送一些内容。快乐编码!