Tengo algo como esto en angularJS:

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

Quiero pasar la función sin definir en otra línea. Porque hay muchas funciones que no devuelven nada.

Lo que quiero decir exactamente es algo como esto:

// no definition
var sent = httpService.handleRequest(new function1, new function2);
0
Vahid Najafi 12 may. 2016 a las 18:16

3 respuestas

La mejor respuesta

Puede crear la función en línea:

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

Aunque no tengo claro por qué el valor de retorno de la función que pasa tiene algo que ver con por qué desea declararlos en línea en lugar de antes.

3
Chad 12 may. 2016 a las 15:18

Puede usar el concepto original con una función sin operación, como lo ha hecho.

var nop = function() {};
var sent = httpService.handleRequest(nop, nop);
2
Nina Scholz 12 may. 2016 a las 15:19

Puedes usar una función anónima.

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

Una función anónima es una función sin nombre y se puede usar como parámetro de otra función.

2
Davide Lorenzo MARINO 12 may. 2016 a las 15:19