Underscore: "bindAll debe tener nombres de función pasados"

Creado en 1 mar. 2013  ·  3Comentarios  ·  Fuente: jashkenas/underscore

Anteriormente a v1.4.4, usando "_.bindAll (this);" funcionaría como se esperaba, y según la documentación: "Si no se proporcionan nombres de método, todas las propiedades de la función del objeto estarán vinculadas a él".

En v1.4.4 "_.bindAll (esto);" arroja un error: "bindAll debe recibir nombres de función"

En la diferencia para 1.4.3 y 1.4.4 (https://gist.github.com/ahomu/4700664) en las líneas 107, esto se cambió:

  • if (funcs.length == 0) funcs = _.functions (obj);
  • if (funcs.length === 0) throw new Error ("bindAll debe recibir nombres de función");

Esto no está en el registro de cambios y la documentación está desactualizada

Por interés, ¿por qué se cambió esto? ¡Intentar actualizar 1.4.4 ha roto gran parte de mi código!

question

Comentario más útil

¿Podrías respetar al menos alguna compatibilidad con versiones anteriores?

Citando http://semver.org/

Dado un número de versión MAJOR.MINOR.PATCH, incremente:

  1. Versión PRINCIPAL cuando realiza cambios de API incompatibles,

Todos 3 comentarios

¡Buenos días @markvr! _.bindAll se ha modificado recientemente, pero no está incluido en la versión 1.4.4. El cambio es solo en la rama maestra. Existe cierta discusión sobre el cambio en bf657be243a075b5e72acc8a83e6f12a564d8f55. Compruébalo y cuéntanos lo que piensas.

Probablemente sea engañoso nombrarlo "bindAll" entonces, ¿no?

¿Podrías respetar al menos alguna compatibilidad con versiones anteriores?

Citando http://semver.org/

Dado un número de versión MAJOR.MINOR.PATCH, incremente:

  1. Versión PRINCIPAL cuando realiza cambios de API incompatibles,
¿Fue útil esta página
0 / 5 - 0 calificaciones