You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Indexed DB时函数参数传递失效问题求助

解决idb库中使用函数参数查询IndexedDB无结果的问题

你的代码存在一个关键语法错误,导致参数无法正常生效:

问题根源

函数内部使用了await,但没有将函数声明为async,这会触发语法错误,使得后续的数据库查询代码无法正确执行,自然参数boardNo也无法被get()方法正确接收。

修复后的代码

async function getBoard(boardNo) {
  const db = await openDB(dbName, version);
  // 查询操作建议使用readonly事务,无需readwrite
  return db.transaction(['board'], 'readonly').objectStore('board').get(boardNo);
}

补充说明

  • 只有async函数内部才能使用await关键字,否则会抛出SyntaxError,这就是你直接传数字或用局部变量能生效的原因——测试时你大概率是在支持await的上下文(比如另一个async函数、ES模块顶级作用域)中运行的,没有触发语法错误。
  • 查询操作不需要readwrite事务权限,改用readonly可以减少数据库资源占用,提升性能。

内容的提问来源于stack exchange,提问作者qwe123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:24:57