2016-04-19 8 views
0

引数を使って適用されます、それは保存バルクを行うために保存ミックスインを使用しています私は、私は、私がオプションで利用可能なonSuccessメソッドを呼び出します違いは、私がバックボーンのコレクションを持っている

cars.save(); 

私はここにいたajax方法のsuccessコールバックにあった質問を呼び出すことになる、コレクションの保存バルクにしたいワットに反対します私は議論を通過するだろう。

誰かが2つのシナリオの違いを説明でき

options.onSuccess(thisCollection, arguments); 
// When i do this instead 
// it logs 
// the list of cars that changed instead 

options.onSuccess(arguments); 
// this logs an arrayList of 3 properties 
// [0] -- the actual list of cars which changed 
// [1] -- 'success' 
// [2] -- the xhr object 

間で異なるとは何ですか?

答えて

3

最初の例では、引数オブジェクトをその関数に渡すだけです。

2番目の方法では、applyを使用して関数を呼び出します。つまり、apply関数は "spread"引数を持つ関数を呼び出します。つまり、関数yourFunction(arg0/*はarg *、arg1、argN、...)から与えられた "this"を持つ単一要素です。詳しくは、私が指摘したページを参照してください。

+0

私の関数に3つの引数がある場合、適用は次のように機能します: onSuccess:function(cars、successString、xhr){} 'ここでメソッド内の各argにアクセスできますか? –

+0

はい、確かです。 3つの引数が渡され、option.onSuccess(car、successString、xhr)を呼び出すと簡単にアクセスできます。 –

+0

それは理にかなっています。私の疑問をクリアしていただきありがとうございます:) –

関連する問題