不知怎的,我的应用程序在Win-Safari中完美运行,但不知何故不被PhoneGap包裹。这是片段:
// working db connection
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM tbl', [], function(tx, rs){
// do something with the result
tx.executeSql('SELECT * FROM another_tbl', [], function(txTwo, rsTwo){
// do something with the result
// further nesting ...
}, errorHandler, successHandler);
}, errorHandler, successHandler);
}
第一个resultSet是正确的,我可以console.log()数据。但在那之后,我无法访问第二个嵌套查询的数据。
我没有得到任何错误,我的处理程序也没有被调用(例如errorHandler)。有趣的是,它不会导致Safari(Win 7)上的任何问题
答案 0 :(得分:0)
我有同样的问题。我已经通过在第一次调用executeSql的回调中嵌套另一个事务来实现它(我认为这非常难看,但也是如此)。
context.db.db.transaction(function(tx) {
tx.executeSql("SELECT coalesce(sum(pointsawarded),0) as points from eventhistory ", [], function(tx, res) {
alert('h1' + JSON.stringify(res));
context.db.db.transaction(function(txsafe) {
txsafe.executeSql("SELECT coalesce(sum(pointsawarded),0) as points2 from eventhistory ", [], function(tx2, res2) {
alert('h2' + JSON.stringify(res2));
});
});
});
});