WebSQL DB에서 행을 가져 왔는데 반환 된 행은 읽기 전용 인 것 같습니다.WebSQL : SQLResultSetRowList의 반환 된 행을 변경할 수 있습니까?
db.readTransaction(
function(t1) {
t1.executeSql(
"SELECT * FROM Foo WHERE id = ?",
[1],
function(t2, resultSet){
var foo = resultSet.rows.item(0);
console.log("before: " + foo.col1);
foo.col1 = "new value";
console.log("after: " + foo.col1);
console.log("sealed? " + Object.isSealed(foo));
console.log("frozen? " + Object.isFrozen(foo));
}
);
}
);
그것은 인쇄 :
before: old value
after: old value
sealed? false
frozen? false
내가 수동으로 수정할 수 있도록 행을 복제했다.
어떻게 가능합니까? 고정시키지 않고 물체를 어떻게 변경할 수 있습니까? 그리고 the specs에서 그 부분이 그렇게되어야한다고 말했습니까?
업데이트 : 재미 있습니다. 일부 테이블에서만 발생합니다. 아직 그것에 대해 우둔.
업데이트 2 : 아니요, 내가 읽은 모든 테이블에서 발생합니다. Chrome과 관련된 것으로 보입니다 (Opera에서도 발생하므로 웹킷 동작 일 수 있음).
관련 항목 : http://stackoverflow.com/questions/5093870/immutable-chrome-sqlite-return-objects –