2011-07-11 61 views
1

我想要做一些類似$.ajax()成功和錯誤回調。Javascript可選參數回調

這是我到目前爲止有:

var FileManager = { 
      LoadRequiredFiles: function (onLoadingCallback, onCompleteCallback) { 
       //Not sure what to do here 
       this.OnLoading = onLoadingCallback; 
       this.OnCompleteCallback = onCompleteCallback; 

       this.OnLoading(); 
       this.OnComplete(); 
      }, 
      OnLoading: function() { 
       //empty by default 
      } 
      OnComplete: function() { 
       //empty by default 
      } 

}; 
//I want to do something like this: 
FileManager.LoadRequiredFiles({OnLoading: function() { 
      alert('loading'); 
     } 
}); 

如何解決這個正確?我正在使用FileManager作爲我的名字空間。

回答

1

您可以檢查函數定義:

var FileManager = { 
    LoadRequiredFiles: function (config) { 
     config = config || {}; 
     this.OnLoading = config.onLoadingCallback; 
     this.OnCompleteCallback = config.onCompleteCallback; 

     if(typeof this.OnLoading =='function') { 
      this.OnLoading(); 
     } 

     //Or use the shortcut: 
     if(this.OnComplete) { 
      this.OnComplete(); 
     } 
    } 
}; 

FileManager.LoadRequiredFiles(
    { 
     onLoadingCallback: function() { 
      alert('loading'); 
     } 
    } 
); 
+0

如何設置參數?我不知道我所做的是否正確,以配合我想如何調用該方法。 –