考虑这个代码(缩短)返回从嵌套函数值在Javascript
function getSecret() {
db.transaction(
function (transaction) {
transaction.executeSql(
'SELECT * FROM table LIMIT 1;',
null,
function(transaction, result) {
var row = result.rows.item(0);
var secret = row.secret;
return secret;
}, errorHandler
);
}
)
}
我怎么会秘密的值返回到主功能?我看了这个答案Return value from nested function in Javascript
并试用了此
function getSecret() {
db.transaction(
function doSql(transaction) {
transaction.executeSql(
'SELECT * FROM table LIMIT 1;',
null,
function(transaction, result) {
var row = result.rows.item(0);
var secret = row.secret;
return secret;
}, errorHandler
);
}
)
return doSql;
}
然而,这没有奏效。
谢谢!
数据库操作是否不同步?我很确定它是这样的,因此这里的解决方案不可能奏效。查询完成时调用“成功”回调函数,而在查询*开始后立即返回外部函数*。 – Pointy 2012-01-24 14:00:52
当它是异步时如何使这项工作? – Madhusudhan 2012-05-18 04:51:50
这是否有'异步'的问题得到答案? – Black 2013-04-03 11:36:08