Underscore.js: cómo encadenar funciones personalizadas
UtilizandoUnderscore.js, Puedo escribir lo siguiente que devuelve42
:
_([42, 43]).chain()
.first()
.value()
Tengo una función personalizada, que no forma parte de Underscore.js llamadadouble()
:
function double(value) { return value * 2; };
Me gustaría poder llamar a esta función en una cadena de subrayado, como si fuera parte de subrayado. Me gustaría escribir lo siguiente, que me gustaría devolver84
:
_([42, 43]).chain()
.first()
.double()
.value()
Esto no puede funcionar porque el subrayado no definedoble(). Podría usartap()
como en:
_([42, 43]).chain()
.first()
.tap(double)
.value()
Esto es válido, perotap
aplica la función a su argumento y devuelve el argumento, no el resultado de la función. Entonces me parece que necesitaría una especie detap
que devuelve el resultado de la función aplicada a su argumento. ¿Hay algo como esto en Underscore.js? ¿Me estoy perdiendo algo terriblemente obvio?