2017-06-22 47 views
0

我寫了一個小型Web請求響應包裝來打印出後端的數據,但我希望能找到更好的方式,因爲我將此傳遞給一些開發人員,並希望讓他們的生活更輕鬆。AJAX響應包裝

這是我目前的包裝

class Req { 
    static log(req){ 
     return req() 
      .done(function(data){ 
       console.log(data); 
      }) 
      .fail(function(err){ 
       console.log(err); 
      }); 
    } 
} 

我所有的後端命令的是一些類的靜態功能。爲了發送該funtion到Req.log我必須使用bind

Req.log(BackendRoute.someCommand.bind(BackendRoute, {param1:1, param2:2}));

有什麼辦法來發送功能BackendRoute.someCommand,而無需綁定BackendRoute的功能?

這是BackendRoute看起來像

class BackendRoute { 
    static someCommand(params){ 
     return BackendRoute.post(params); 
    } 
} 

回答

2

可以使用脂肪箭頭。它是要創建一個新的功能,但它更清晰,還是短:

Req.log(() => BackendRoute.someCommand({param1:1, param2:2})); 
+0

這是最詳細的方式,假設你不想'BackendRoute.someCommand'從一開始就被束縛 – slezica