1
我有,我要執行我的SQL查詢一個工人。但是,那是我的問題,我希望所有這些查詢都在同一個事務中執行。這是我現在的工作方式:的javascript:如何保持一個事務(的WebSQL)活着
db = openDatabase("WorkerFoo", "", "", 1);
if (db) {
db.transaction(function (tx) {
self.onmessage = function(e) {
tx.executeSql(e.data, [], function(tx, rs){
self.postMessage(rs.rows.item(0)) ;
}) ;
};
}) ;
}
else {
self.postMessage('No WebSql support in Worker') ;
}
但是,這樣做沒有任何反應(沒有錯誤)。任何建議如何解決這個問題?
的其他(相關)的問題,我有是,如果查詢阻塞UI線程,因爲查詢很重,需要幾秒鐘,將查詢的工人中的執行解決這個問題?
非常感謝!
我建立了iPad上的PhoneGap應用程序。而我想要做的是,對於搜索字段,在打字時填寫結果列表。因爲查詢是沉重的,它需要1或2秒才能完成,在此期間鍵盤凍結,使流暢的打字是不可能的! – 2013-05-06 09:11:10
@JeanlucaScaljeri哦,我明白你想要做什麼,IIRC indexeddb在iOS中不被支持,你可能想嘗試這個polyfill:http://nparashuram.com/IndexedDBShim/除此之外,我說的應該工作 – 2013-05-06 09:13:18
好的,我想我找到了問題。我正在使用[this](https://github.com/brodyspark/PhoneGap-sqlitePlugin-iOS)SQLite插件,該插件指出API將阻止應用程序執行(請參閱「已知限制」)。多好:( – 2013-05-06 13:09:59