2017-06-22 50 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