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

时间:2014-02-20 17:53:53

标签: javascript cordova coffeescript web-sql

我正在尝试编写一个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变量总是来自'undefined',因为上面的返回值@results是'undefined'。不知道为什么会发生这种情况。

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;
    };

0 个答案:

没有答案