考慮這個代碼(縮短)返回從嵌套函數值在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