NIFCLOUD-mbaas/ncmb_js

[NCMB]オペランド実行履歴の管理について

Closed this issue · 2 comments

iOS SDKではkey-valueの値をセットするsetObject:forkeyメソッドが呼び出されると、
そのkeyに対してvalueをセットしたという操作履歴を保存しています。
saveが呼び出されたときには、操作履歴から最終的にサーバーへPOSTするJSONデータを作成しています。

この実装をしている理由は2つあります。

  1. 操作履歴を管理していないと、saveを呼び出すまでにオペランドの実行(incrementやaddUnique)が1度しか実行できない
  2. あるkeyに対しオペランドを実行していた場合に、オペランドをvalueとして扱っているとfetchを実行した場合にサーバー側のデータでオペランドが書き換えられてしまう

iOSで実施しているOperationQueueで操作履歴を管理することが
JavaScript SDKでも必要かを検討していきたいです。

詳細お願い致します。

  1. 「1度しか実行できない」ようにしたい?「一度しか実行できない」ことを安全に回避して実行できるようにする?
  2. どゆこと???
bkzen commented

現状として、save を呼び出すまでに行ったオペランドを複数回実行した場合でも反映した状態で保存されているので問題ないものとして、この件はクローズします。