2つの別々の非同期呼び出しを実行し、call1にcall2が終了するのを待たせる方法がわかりません。調べてみました。コールバックまたはpromiseを使用する必要があると思いますが、取得できません。簡単な説明へのリンク?または、誰かが私のコードを調整する方法を提案できますか?
コードを少し「簡略化」しました。
次のレコードがconstructButtonの終了後にのみ読み取られるようにするにはどうすればよいですか?
function justAfunction(){
var query = "SELECT * FROM trlydp where tdrexr = " + route + " order by tdrseq;";
try {
localDB.transaction(function(transaction){
transaction.executeSql(query, [], function(transaction, results){
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
constructButton();
}
}, function(transaction, error){
updateStatus("Error: " + error.code + "<br>Message: " + error.message);
});
});
}
catch (e) {
updateStatus("Error: Unable to select data from the db " + e + ".");
}
}
function constructButton(){
disabled = false;
var query = 'SELECT * FROM trlylp';
//alert(query);
try {
localDB.transaction(function(transaction){
transaction.executeSql(query, [], function(transaction, results){
alert(results.rows.length);
if (results.rows.length != 0) {
disabled = true;
}
}, function(transaction, error){
updateStatus("Error: " + error.code + "<br>Message: " + error.message);
});
});
}
catch (e) {
updateStatus("Error: Unable to select data from the db " + e + ".");
}
}