顺序化异步javascript

时间:2015-08-17 14:50:52

标签: javascript asynchronous

我不确定这是一个多余或愚蠢的问题,但我还没有找到令人满意的答案。

我想在Javascript中进行sql查询。当我从选择开始时,我想实现插入完全执行。现在的问题是我必须循环使用,而且我不知道如何确保所有查询都已完成。

在伪代码中,它看起来像这样。

for (var i = 0; i < N; i++) {
  db.transaction(function(tx) {
    tx.executeSql("INSERT ...", [], success, error);
  }, error, success)
}
db.transaction(function(tx) {
  tx.executeSql("SELECT ...", [], success, error);
});

如果我只做了两次交易,我可以在第一次回调中做第二次,但是在一个看似不那么容易的循环中。

有没有一种优雅的方式来实现我的目标,没有太多的魔力?

P.S。我不能在一个事务中执行所有查询,因为后面的插入依赖于以前的插入,并且中间有一个post请求需要一点时间。

感谢您阅读我的问题。

0 个答案:

没有答案