問題があります。私はデータベースにクエリを行い、DBから各結果を調べています。 DBには、NameとTimeという2つの列があります。さて、私はjavascriptにしたいのは、データベースに保持されている時間量のNameを表示することです。私はsetTimeout()を使ってこれをしようとしました。setTimeoutが終了するまでjavascriptデータベースクエリを一時停止
DBから選択した後:
function (transaction, result) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
$('div.box').html(row.name);
var countdown;
var countdown_number;
countdown_init();
function countdown_init() {
countdown_number = 11;
countdown_trigger();
}
function countdown_trigger() {
if (countdown_number > 0) {
countdown_number--;
document.getElementById('countdown_text').innerHTML = countdown_number;
if (countdown_number > 0) {
countdown = setTimeout('countdown_trigger()', row.time);
}
}
}
}
}
さて、ここで私の問題は、私は信じているが、JavaScriptでスレッドをどうする(しかし、私は間違っている可能性があります)。カウントダウンが始まると、ループの実行を一時停止せずに、新しいスレッドでカウントダウンを開始し、ループ内で次のDBエントリを起動し、あらゆる種類のエラーでクラッシュします。
どうすればこの問題を回避できますか?私はフラグを追加することを考えている..しかし、私はこれがどのように動作するか分からない。私は感情を持っています(私が望む)これに直接的な答えがありますが、それが何であるかは分かりません。
ファーストを試してみると、3行目には、[i]はresult.rows.item 'のように、角括弧を必要とします;'。今、あなたはあなたのテキストをどこに置いていますか?いくつかのHTMLマークアップを提供し、あなたがしたいことを記述することはできますか?また、jQueryのようなフレームワークを手にしていますか? – Betamos