我们正在考虑尝试并将现有应用程序WebSql后端/数据层移植到JayData。都是客户端。我们想分两个阶段进行操作,以允许我们的应用程序继续使用现有方法从数据库中读取数据,同时我们的解析将移至允许JayData控制所有读取/写入数据结构。

早期测试进行得非常顺利。 JayData是一个很好的ORM,易于使用。但是,我们一次又一次遇到错误:

Uncaught TypeError: Cannot set property 'initData' of undefined SqLiteProvider.min.js:35
DefaultError: DEFAULT ERROR CALLBACK!

Exception {name: "DefaultError", message: "DEFAULT ERROR CALLBACK!", data: Arguments[1], _getStackTrace: function}


根据日志,解析器(使用JayData)的每个阶段均已成功完成其读取和写入。但是,数据库中经常有尚未填充的表。所有表都在相同的上下文中打开并使用$.Deferreds.控制

JayData认为自己已完成交易是“假阳性”,而错误实际上告诉了我吗?

在打开context时(但未使用)打开数据库(在JayData外部)并修改表是否存在问题?

更新资料

遵循注释中的指示。
源在第424行上抛出异常-items[i].physicalData.initData = item.rows[0];

最佳答案

与JayData小组进行了长时间的讨论之后,问题是由于试图一次对一个上下文执行多项操作而引起的。该团队建议使用在共享上下文中运行的承诺链,然后在最后阶段进行更改。这解决了我所有的问题。

关于javascript - JayData分阶段集成到应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16106206/

10-11 06:39