即使在Angular.org文档中,我也尝试过在任何地方进行搜索,但无法通过实现找到任何详细解释。如果任何人能够解释它将会非常有用。
答案 0 :(得分:143)
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);
答案 1 :(得分:28)
在编写需要回调的函数时,我发现它非常有用。
示例:
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);
}
答案 2 :(得分:16)
这是一项不执行任何操作的功能。这在以下情况下很有用:
function foo(y) {
var x= fn();
(y|| angular.noop)(x);
}
在以函数式
编写代码时很有用答案 3 :(得分:5)
*这个答案假设你不是角度
的初学者Angular.noop是一个空函数,在某些情况下可以用作占位符
例如:
想象一下,你正在使用q.all,它会对api进行多次调用并返回一个promise。 如果其中一些调用失败但你仍然需要处理那些没有失败的调用,那么当你接到调用时,使用angular noop作为对api调用的回调。 如果你不使用角度noop,如果一次呼叫失败,q.all将拒绝覆盖。
Q.all(somecall.catch(angular.noop),anothercall).then(解析结果[0]和结果[1])
如果调用失败,Angular将忽略该调用并执行另一个调用(但是对于第一个已解析的结果,您仍将未定义)
我希望我帮助
答案 4 :(得分:4)
var result = (callback || angular.noop)(params)
这是最简短的方法
var result = typeof callback === 'function' && callback(params);
考虑到callback var将是一个函数
答案 5 :(得分:2)
如果您需要官方文档,请link。这很简单。我还粘贴了链接中的当前文档。
不执行任何操作的功能。在以函数式编写代码时,此函数非常有用。
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
答案 6 :(得分:0)
技巧:您还可以使用它为ng-click
属性添加三元数:
ng-click="(variable) ? doSomething() : angular.noop()"
直到我发现你可以使用ng-click =“variable&& doSomething()”`