我目前正在试验operational transformation的ShareJS实现(特别是JSON API )。wiki不太清楚如果我删除一个父JSON对象会发生什么,另一个操作是插入子JSON。父JSON将被重新创建,或者它将是一个无操作?
例如。
{"aa":
{"bb":
{"cc":"dd"}
}
}
//Operation A and B comes in carrying the same version number
//Op A deletes "aa", Op B modifies "cc"
//What happens? (assuming A comes in slightly earlier and is processed first)发布于 2012-09-09 23:03:28
我自己检查过了:
op1 = [{p: ["aa"], od: {"bb": {"cc":"dd"}} }] // Deletes "aa"
op2 = [{p: ["aa", "bb", "cc"], od: "dd", oi: "ee"}] // Modifies "cc"
console.log(json.transform(op2, op1, 'left'))
>> []这意味着,当op2在op1上转换时,它将成为无操作->不会重新创建任何对象。
https://stackoverflow.com/questions/11321233
复制相似问题