我正在使用相对不成熟的 Joose Javascript ORM 插件(项目页面)将对象持久保存在 Appcelerator Titanium 中(公司页面)移动项目。由于它是客户端存储,应用程序必须在启动 ORM 之前检查数据库是否已初始化,因为它会检查数据库表来构造类。

我的问题是,这一系列操作(如果这个操作是这样的,那么接下来的其他事情)需要大量回调才能完成。我在代码中进行了很多跳转,这对维护人员来说并不明显,并导致一些复杂的调用图等。所以,我问这些问题:

  1. 您将如何异步初始化数据库并使用需要架构正确运行的 ORM 来填充种子数据?
  2. 您是否有任何用于异步/事件驱动编程并保持调用图简单易懂的通用策略或链接?
  3. 对于使用 HTML 5 作为存储引擎并且希望与框架无关的 Javascript ORM/元对象系统,您有什么建议吗?
  4. 我只是一个大新手,应该能够轻松解决这个问题吗?

谢谢各位!

有帮助吗?

解决方案

尝试 flow.js (https://github.com/willconant/flow-js)。

其他提示

看一眼 叙事JS:

叙事 JavaScript 是一个小 扩展 的封堵功能 异步事件回调。这 使异步代码令人耳目一新 可读性和可理解性。

通过 Narrative JavaScript,使用 XmlHttp 获取文档的过程如下所示:

function handleResponse(responseText) {
    document.getElementById("myElem").innerHTML = responseText;
}
fetch("http://www.url.com/", handleResponse);

对此:

document.getElementById("myElem").innerHTML = fetch->("http://www.url.com/");

太糟糕了,该项目不再活跃:-(

道场.Deferred() 似乎也实现了一个异步 monad,尽管语法不如 NarrativeJS 清晰。

在引入异步糖方面已经做了一些工作咖啡脚本, ,但最终 它没有被接受.

RxJS 是处理这个问题的另一种方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top