Google chrome devtools 如何排除IDBKeyRange错误上的Dexie绑定

Google chrome devtools 如何排除IDBKeyRange错误上的Dexie绑定,google-chrome-devtools,dexie,dexiejs,Google Chrome Devtools,Dexie,Dexiejs,我在Vue JS项目中使用版本3.0.3-rc.3,在Chrome(86)中偶尔会遇到这个异常: 未能对“IDBKeyRange”执行“绑定”:参数不是有效的键。↵ DataError:未能对“IDBKeyRange”执行“绑定”:参数不是有效的键 以下是完整错误的屏幕截图: 我相当肯定问题在于我的数据中有一些未定义的,,但我正在尝试找到一种解决这个问题的好方法。我暂停了Chrome开发工具处理异常,并检查了关于Dexie这个特定部分的代码,但它没有透露是什么数据导致了这个异常的发生 有人对如

我在Vue JS项目中使用版本
3.0.3-rc.3
,在Chrome(86)中偶尔会遇到这个异常:

未能对“IDBKeyRange”执行“绑定”:参数不是有效的键。↵ DataError:未能对“IDBKeyRange”执行“绑定”:参数不是有效的键

以下是完整错误的屏幕截图:

我相当肯定问题在于我的数据中有一些未定义的
,但我正在尝试找到一种解决这个问题的好方法。我暂停了Chrome开发工具处理异常,并检查了关于Dexie这个特定部分的代码,但它没有透露是什么数据导致了这个异常的发生

有人对如何找出真正的错误有什么建议吗?这感觉有点像大海捞针

==更新==

下面是完整的调用堆栈:


尝试检查调用堆栈。我知道在应用程序代码中达到一个框架可能需要很长时间,但是失败的调用应该在那里


在运行代码之前,请在devtools控制台中尝试
监视器(IDBKeyRange.bound)
。谢谢!我不熟悉
monitor()
。我试试看。谢谢你的回复。我按照你的建议用调用堆栈更新了我的问题。没有对我的应用程序的任何引用,所以这可能是Dexie中的一个bug吗?如果您想让我将其转移到Dexie respository上的GitHub问题,请告诉我。我终于明白了!我正在将一个
未定义的
值传递到复合
where
子句中。我在这里创建了一个问题,以防你想处理Dexie中的异常:顺便说一句,Dexie真是太棒了。你在这里干得很出色!谢谢你的反馈。您的调用堆栈没有显示应用程序代码框架,这使得调试变得很困难,这一点似乎是对的!我现在正在研究您的github问题,并了解如果dexie在将未定义的值传递给whereclause操作符时失败得更快,那么可以改进的情况。