1

一般的な質問:現在のトランザクション ( ) とデフォルトのトランザクション ( )
の概要を知りたいです。currentTransactiondefaultTransaction

具体的な質問:
Emberコントローラーと.this.get('model').save()this.get('store').commit()

this.get('model').save()最終的に Ember-data Store を呼び出します。 githubget(this, 'currentTransaction').commit().を参照してください。

this.get('store').commit()最終的に Ember-data Store を呼び出します。 githubget(this, 'defaultTransaction').commit()を参照してください。

単一の編集済みレコードを更新する場合、それらはまったく同じように見えます。それらはどのように異なって使用されるべきですか?

4

1 に答える 1

3

現在のトランザクション (currentTransaction) とデフォルトのトランザクション (defaultTransaction) の概要を知りたい

  • currentTransactionは、通常は model.save() を介して永続化される予定のレコード用です。
  • defaultTransactionは、別のトランザクションに明示的に追加されなかったレコードを永続化するためのものです

単一の編集済みレコードを更新する場合、それらはまったく同じように見えます。それらはどのように異なって使用されるべきですか?

その場合、彼らは同じことをするつもりです。

一般に、model.save() はおそらくより良い選択です。1) 他に保存されていないレコードがある場合に予期しない副作用が発生しないため、2) 複数のモデルで save() を呼び出すと commit() が 1 つだけになり、バッチが作成されるためです。セーブ可能。

やや関連:

model.save() と model.get('store').commit() の違い

于 2013-07-05T03:55:29.177 に答える