Html 如何获取在web sql上插入时生成的id

Html 如何获取在web sql上插入时生成的id,html,web-sql,Html,Web Sql,我对这种面向对象的java脚本编程非常陌生 html5rocks.webdb.insertuser = function(username){ var db = html5rocks.webdb.db; var id; db.transaction(function(tx){ var addedOn = new Date(); tx.executeSql("INSERT INTO user(name) VALUES (?)",

我对这种面向对象的java脚本编程非常陌生

html5rocks.webdb.insertuser = function(username){
    var db = html5rocks.webdb.db;
    var id;
    db.transaction(function(tx){
        var addedOn = new Date();
        tx.executeSql("INSERT INTO user(name) VALUES (?)",
            [username],
            html5rocks.webdb.onSuccess,
            html5rocks.webdb.onError);
    });
}
这是我的代码,我是通过在


现在我明白了,这个“onSuccess”被称为回调。所以,如果我想得到这个值作为整个函数的返回参数,我需要使用某种阻塞。我想知道一种获取插入id返回值的方法

大多数数据库表都有一个自动生成的id列来标识每一行。在执行插入操作后,将该值取回来,这样就可以将其分配给内存中的对象。事实证明这非常简单:

db = openDatabase(db_name, ‘1.0’, options.description, size);

db.transaction(function(tx) {
  tx.executeSql(“insert into posts (title) VALUES (‘Hear the news’)”, [], function(tx, sql_res) {
    var lastInsertId = sql_res.insertId;
  });
});

来源:

你能把它变成一个JS函数吗。我知道它可以设置为一个变量。但我需要阻止整个函数,直到回调到来。对不起,我不明白你的意思。你能解释一下吗?value insertId=insertUser(“abc”);我需要得到这样的值。如果你能告诉我如何创建这样的函数,那就太棒了。我想你不能这么做。看看这个问题