Angular.noop用于什么?

即使在Angular.org文档中,我也尝试过在任何地方进行search,但找不到任何有关实现的详细解释。 如果能解释的话,这将是非常有帮助的。

angular.noop是一个空的函数,当你需要传递一些函数作为参数时,可以用作占位符。

function foo (callback) { // Do a lot of complex things callback(); } // Those two have the same effect, but the later is more elegant foo(function() {}); foo(angular.noop); 

编写一个需要callback的函数时,我发现它非常有用。

例:

 function myFunction(id, value, callback) { // some logic return callback(someData); } 

上面的函数会在没有指定第三个参数的情况下调用时返回一个错误。 myFunction(1, 'a');

示例(使用angular.noop ):

 function myFunction(id, value, callback) { var cb = callback || angular.noop; // if no `callback` provided, don't break :) // some logic return cb(someData); } 

这是一个不执行任何操作的函数。 这在这样的情况下是有用的:

 function foo(y) { var x= fn(); (y|| angular.noop)(x); } 

在function风格中编写代码时非常有用

*这个答案假设你不是angular度上的初学者

最好的用法,我find了angular.noop(之前告诉这是一个空的函数)是这样的:想象一下,你正在使用q.all多次调用api并返回一个承诺。 如果其中一些呼叫失败,但仍然需要处理那些没有失败的呼叫,那么当您接听呼叫时,使用angular度noop作为api呼叫的回叫。 如果你不使用angular度noop,如果一个呼叫失败,q.all将会拒绝。

Q.all(somecall.catch(angular.noop),anothercall)。然后(parsing结果[0]和结果[1]

如果somecall失败..angular会忽略,并执行另一个调用(但你仍然会得到未定义的第一个parsing结果)

希望我帮助

 var result = (callback || angular.noop)(params) 

这是一个最简单的方法

 var result = typeof callback === 'function' && callback(params); 

考虑到callbackvar将是一个函数

如果你想在这里的官方文件是链接 。 这很简单。 我也从链接粘贴了当前的文档。


不执行任何操作的function。 在function风格中编写代码时,此function可能非常有用。

 function foo(callback) { var result = calculateResult(); (callback || angular.noop)(result); } 

技巧:你也可以用它来为ng-click属性添加一个条件:

 ng-click="(variable) ? doSomething() : angular.noop()" 

直到我发现你可以使用ng-click =“variable && doSomething()”