1

私は現在、操作変換(特にJSON API)のためのShareJS実装を実験しています。親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に変換されると、no-op->オブジェクトが再作成されないことを意味します。

于 2012-09-09T15:03:27.880 に答える