我正在使用PhoneGap和SQLite數據庫。帶有PhoneGap和JavaScript的SQlite數據庫
我嘗試這樣:
我有一個函數useSavedThing():
function useSavedThing() {
alert("BEFORE getSavedThing()");
getSavedThing();
alert("AFTER getSavedThing()");
}
和功能getSavedThing():
function getSavedThing(){
alert("ONE");
var db = window.openDatabase("Database", "1.0", "Database", 200000);
db.transaction(populateDB, errorCB, successCB);
alert("TWO");
function populateDB(tx) {
alert("THREE");
}
function errorCB(tx, err) {
alert("Error processing SQL: " + err);
}
function successCB() {
alert("FOUR");
db.transaction(getData);
}
function getData(tx) {
alert("FIVE");
tx.executeSql('SELECT * FROM SETTINGS', [], getIt, errorCB);
}
function getIt(tx, results) {
alert("SIX");
var savedthing = results.rows.item(0).data;
}
}
的問題是,當函數getSavedThing()被調用時,只發出前兩個警報(警報(「ONE」),警報(「TWO)」),然後調用警報(「AFTER getSavedThing()」)。
但我希望所有發出警報(「ONE」),警報(「TWO」),警報(「THREE」)警報(「FOUR」)警報(「FIVE」),警報(「SIX」)在警報之前(「AFTER getSavedThing()」); appers。
FO警報的順序應爲:
- 警報( 「BEFORE getSavedThing()」);
- alert(「ONE」);
- alert(「TWO」);
- alert(「THREE」);
- alert(「FOUR」);
- alert(「FIVE」);
- alert(「SIX」);
- alert(「BEFORE getSavedThing()」);
有人可以幫助我嗎?
你能告訴我們在Firebug或類似的任何輸出?我假設getSavedThing()中的函數應該在它之外。 – dan