【问题标题】:ydn-db: calling get() for the second time cause errorydn-db:第二次调用 get() 导致错误
【发布时间】:2014-03-13 09:06:03
【问题描述】:

我从数据库中读取了一个值,然后基于该值,我读取了第二个值。代码如下:

mydb.db.get("store1", 1)
.then(function(result1) {
  // Assume result1 is needed here.
  // This second get() will cause error.
  return mydb.db.get("store2", 1);
})
.then(function(result2) {
  // Assume result2 is needed here.
});

问题是,第二个 get() 会导致这个错误(从 Chrome 中的控制台输出复制):

Uncaught TypeError: Cannot call method 'push' of undefined (in deferred.js:397)

如果我删除return 子句,不会产生错误但我无法得到结果2。

我正在使用 ydn.db-isw-core-qry.js(生产)v0.8.12 和源映射,Chrome 33.0.1750.149 上的 IndexedDB 数据库,Windows。

我的代码有问题吗?请帮忙。

谢谢。

【问题讨论】:

  • 你所做的是正确的。看起来像个虫子。请在 bigbucket 上提出问题。
  • 您可以通过包装一些项目库来解决问题。
  • 谢谢,我刚刚提交了一个问题。抱歉,您的第二条评论是什么意思?谢谢。

标签: ydn-db


【解决方案1】:

这里是你描述的测试http://dev.yathit.com/test/issue_107.html。没有错误。请显示导致错误的代码。

【讨论】:

  • 您好,我知道错误的原因。看来我正在使用旧版本的 ydn.db 库(我从 dev.yathit.com/index/downloads.html 得到它)。我通过使用您的 ydn.db 版本(来自上面的文件 issue_107.html)进行测试来确认这一点。切换库后,我的代码运行良好。请注意,我的旧版本仍然有 Storage.onReady(),而新版本没有(新版本使用 Storage.addEventListener("ready", ..))。那么,我在哪里可以下载最新、稳定的生产版本?非常感谢您的支持:)
  • 欢迎。我将重建新版本并修复一些未决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2021-09-06
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多