SQLクエリを実行したいWorkerがあります。しかし、それが私の問題です。これらすべてのクエリを同じトランザクション内で実行したいのです。これは、現在(動作していない)ワーカーを持っている方法です:
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') ;
}
ただし、この方法では何も起こりません (エラーは発生しません)。これを修正する方法はありますか?
もう 1 つの (関連する) 質問は、クエリが重くて数秒かかるため、クエリが UI スレッドをブロックしている場合、Worker 内でクエリを実行するとこの問題は解決しますか?
どうもありがとう!