【发布时间】:2013-03-16 08:18:10
【问题描述】:
我一直在使用 sqlite、phonegap、javascript,我需要从 sqlite db 中获取信息。
我能够获取我需要的所有信息、插入、更新等。
问题是 javascript 异步工作。也就是说,在从数据库获取所有必要信息之前,它正在处理所有其他后续语句。
我一直尝试使用回调,但我厌倦了它,因为使用循环有困难。 (不能在循环中使用 sqlite 查询,因为循环在当前 sqlquery 被处理之前被迭代,这不是我想要的)
是否可以同步进行这些数据库操作?
更新 从这里找到了一个新的解决方案:webkit executesql sentence and loop problem
【问题讨论】:
-
查看caolan/async 以帮助您管理异步操作(例如在串行循环中执行异步操作)。
-
你知道如何在循环中使用异步函数了吗?我目前正好有这个问题
-
@kim366 我最终做的是删除循环并将其全部更改为不优雅的函数调用。你可以试试 javascript 中的新 await 函数来帮助你:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 或者你可以阅读这篇文章:blog.lavrton.com/…
-
@VigneshT.V.是的,这就是我正在尝试做的。我切换到使用承诺的
sqlite(来自sqlite3)。仍在努力让它发挥作用,但似乎很有希望;双关语不是故意的。 -
终于成功了!使用
await,你可以让异步的东西同步,而不用为这一切而头疼
标签: javascript android sqlite cordova