2016-05-12 69 views
0

我有这样的事情在angularJS如何将javascript函数传递到另一个函数而没有预定义?

var onErr = function() {}; 
var sent = httpService.handleRequest(onErr); 

我要传递的功能,无需在另一行定义。因为有许多函数什么都不返回。

我恰恰意味着,是这样的:

// no definition 
var sent = httpService.handleRequest(new function1, new function2); 
+0

你确定你确实需要传递任何东西吗?你不能只传递null吗? –

回答

3

您可以创建函数内联:虽然我不能在透明

var sent = httpService.handleRequest(function() {}, function() {}); 

为什么函数的返回值你传入与你为什么要声明它们是内联而不是事先相关?

+0

哦,是的,我的事情我有错,因为我得到错误。我想让他们内联,因为我不想有5或6行只定义空函数。任何方式,谢谢。 –

+0

如果你有很多空函数传递,只需创建一个'nop'函数并传递它。 'var nop = function(){};'所以你不是每次都创建一个新的空函数。 – Chad

2

您可以像使用无操作功能一样使用原始概念。

var nop = function() {}; 
var sent = httpService.handleRequest(nop, nop); 
+1

noop:D有史以来最好的功能! – Kulvar

2

您可以使用匿名函数。

var sent = httpService.handleRequest(function() {}, function() {}); 

匿名函数是一个没有名字的函数,可以用作另一个函数的参数。

相关问题