【发布时间】:2015-06-23 00:35:14
【问题描述】:
有一个 for 循环,在 for 循环内我正在调用 AJAX 请求。我遇到的问题是,for 循环在请求完成之前完成。
我希望 for 循环仅在所需的 AJAX 请求完成后继续进行下一次迭代。
PS-AJAX 工作正常。我确实从服务器获得了我想要的信息。这只是 for 循环迭代首先完成,而无需等待 AJAX 请求成功函数启动。因此,当 AJAX 成功函数最终触发时,变量 cid 中的值是不确定的,因为它已被 for 循环的最后一次迭代覆盖。
我希望 for 循环仅在 AJAX 成功函数执行后继续。
代码:
if (window.cordova) {
db = $cordovaSQLite.openDB("my.db"); //device
} else {
db = window.openDatabase("my.db", '1', 'my', 1024 * 1024 * 100); // browser
}
var query = "SELECT * FROM order_product";
$cordovaSQLite.execute(db, query, []).then(function(res) {
if (res.rows.length > 0) {
for (var i = 0; i < res.rows.length; i++) {
console.log(" foreach SELECTED shopcart-> " + res.rows.item(i).id);
var cid = res.rows.item(i).coffee_id;
$http.post("http://192.168.1.4/coffeepayWeb/public/index.php/getsugar", {
cid: cID
})
.success(function(result) {
console.log("success");
if (cid == 6) {
//do something
} else {
//do something else
}
});
}
}
}
【问题讨论】:
-
你能显示它的代码吗?
标签: angularjs ionic-framework ionic