1

我目前正在尝试使用ShareJS实现操作转换(特别是 JSON API)。如果我删除了一个父 JSON 对象会发生什么,wiki 并不太清楚,而另一个操作是插入到子 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)
4

1 回答 1

1

自己查了一下:

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 上转换时,它变为无操作 -> 不会重新创建任何对象。

于 2012-09-09T15:03:27.880 回答