私はこれを行うためのより良い方法を探しています:
var f1 = function(){};
var f2 = function(){};
doSomething('ArbritraryString',f1); //does xhr, and then runs f1 on callback
doSomething('ArbritraryString',f2); //does xhr, and then runs f2 on callback
$.when($.get('myJson',f1,f2)).then(function(ret1, ret2, ret3){
//doStuff
});
何か案は?
この関数は文字通り空のf1/f2関数を呼び出すだけなので、 atmdoSomething
のコールバックハンドラーがあります。$.when
理想的には
$.when($.get('myJson',doSomething('ArbritraryString',function(){}); ,doSomething('ArbritraryString',function(){}))).then(function(ret1, ret2, ret3){
//doStuff
});
そして、doSomethingの2番目のパラメーターが監視しなければならないコールバックであることをjqueryに魔法のように知らせます。
doSomething
このように見えます:
doSomething:function(name,callbackFunction){
/*snip logic
*/
$.get(name, function(data){
/*some more logic
*/
if(typeof(callbackFunction)==='function'){
callbackFunction();
}
});
}
},