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()”