Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用coffeescript从websql db获取插入项的id?_Javascript_Cordova_Coffeescript_Web Sql - Fatal编程技术网

Javascript 如何使用coffeescript从websql db获取插入项的id?

Javascript 如何使用coffeescript从websql db获取插入项的id?,javascript,cordova,coffeescript,web-sql,Javascript,Cordova,Coffeescript,Web Sql,我试图编写一个coffeescript websql函数来插入一些测试数据。我希望能够获取插入项目的id,因为我在保存项目时自动生成id。我试着在这里这样做 insert: (data) -> console.log "Inserting test data.." @db.transaction (tx) => tx.executeSql(@INSERT_QUERY, data,

我试图编写一个coffeescript websql函数来插入一些测试数据。我希望能够获取插入项目的id,因为我在保存项目时自动生成id。我试着在这里这样做

 insert: (data) ->
        console.log "Inserting test data.."
        @db.transaction (tx) =>
            tx.executeSql(@INSERT_QUERY,
                data,
                (tx,@results) => console.log(@results.insertId),
                (tx,error) => console.error(error),
            )
        @results
但是id变量总是以“未定义”的形式出现,因为上面的返回值@results是“未定义”的。不知道为什么会这样

id = root.taskTable.insert(data)
为了以防万一,我还附加了上述coffeescript代码的输出java脚本代码

dbTable.prototype.insert = function(data) {
      console.log("Inserting test data");
      this.db.transaction((function(_this) {
        return function(tx) {
          return tx.executeSql(_this.INSERT_QUERY, data, function(tx, results) {
            _this.results = results;
            return console.log(_this.results.insertId);
          }, function(tx, error) {
            return console.error(error);
          });
        };
      })(this));
      return this.results;
    };

您是否尝试过
console.log(\u this.results)?这将允许您遍历整个results对象,并可能找到包含id.OK的对象,但如果我只执行console.log(_this.results)操作,我将如何遍历它?如果这是显而易见的,我很抱歉。谷歌没有帮我更好地解释它。你需要连接一个远程检查器。您正在使用什么设备或模拟器进行测试?您使用的是什么操作系统?我正在使用ripple emulator在phonegap上进行测试。我可以在chrome中看到控制台日志。但我希望该id可以在代码中访问以供进一步处理。当您在控制台中看到结果时,您应该能够单击该对象并查看其中的属性。这将显示id的位置(如果它在那里)。如果是,则可以更改代码以获取id。如果不在其中,则需要查找如何访问id(可能是需要调用的方法)