2016-05-12 72 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() {}); 

匿名函數是一個沒有名字的函數,可以用作另一個函數的參數。

相關問題