После документа Storage на MDC я написал кое-что, чтобы прочитать историю и показать ее в текстовом поле:
var dbConnection = database.getDBConnection();
var getHistoryStatement = dbConnection.createStatement("SELECT destinationUrl FROM uploadHistory ORDER BY id DESC");
getHistoryStatement.executeAsync({
handleResult: function(aResultSet){
var newHistoryString = "";
for (var row = aResultSet.getNextRow(); row; row = aResultSet.getNextRow()) {
newHistoryString += row.getResultByName("destinationUrl") + "\n";
}
document.getElementById("historyText").value = newHistoryString;
},
handleError: function(aError){
},
handleCompletion: function(aReason){
}
});
Однако это не удается, потому что handleResult вызывается дважды в разных потоках: один с первыми 3 результатами и один с остальными результатами. Я не могу найти ничего в документах об этом поведении, и Google ничего не показывает. Кто-нибудь знает об этом поведении или как заставить handleResult вызываться только один раз со всеми результатами?
Это работает на Firefox 4.