JavaScript:自定义回调函数
我是新来的js程序,请原谅,如果一些不清楚,但让我知道问题 请先查看我的代码:JavaScript:自定义回调函数,javascript,callback,nw.js,Javascript,Callback,Nw.js,我是新来的js程序,请原谅,如果一些不清楚,但让我知道问题 请先查看我的代码: function catchDataFromDB(db, tableName, callBack) { var sqlStr = 'SELECT * FROM ' + tableName; var sqlData = []; db.transaction(function(t) { // Query out the data t.executeSql(sqlStr, [], func
function catchDataFromDB(db, tableName, callBack) {
var sqlStr = 'SELECT * FROM ' + tableName;
var sqlData = [];
db.transaction(function(t) {
// Query out the data
t.executeSql(sqlStr, [], function(t, SQLResultSet) {
var len = SQLResultSet.rows.length,
row;
for (var i = 0; i < len; i++) {
row = SQLResultSet.rows.item(i);
sqlData.push(row);
}
console.log(sqlData);
});
},
function(SQLError) {
console.warn(SQLError.message);
});
return sqlData;
}
但是,当我调用函数doSomething时,如何从函数foo获得返回呢?回调是一个简单的函数,在某些工作完成时调用,在javascript中可以将其传递到变量中,因此在异步/工作函数中必须调用回调函数(如
回调(结果)
)一旦完成任务
所以你的代码应该是
函数catchDataFromDB(db,tableName,回调){
var sqlStr='SELECT*FROM'+tableName;
数据库事务(功能(t){
//查询出数据
t、 executeSql(sqlStr,[],函数(t,SQLResultSet){
var len=SQLResultSet.rows.length,
一行
对于(变量i=0;ifunction doSomething(callback) {
// ...
// Call the callback
callback('stuff', 'goes', 'here');
}
function foo(a, b, c) {
// I'm the callback
alert(a + " " + b + " " + c);
}
doSomething(foo);