Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

109
Vistas
Encadenamiento de métodos complejos

Por contexto, estoy pensando en este tipo de encadenamiento de métodos , en el que el método final llamado devuelve una promesa. Sin embargo, mi pregunta es diferente a esta .

Estoy realmente perplejo con esto, así que tengan paciencia conmigo en mi falta de ejemplos reproducibles. Ni siquiera estoy muy seguro de por dónde empezar con esto. Tampoco es una pregunta de tarea.

Considere la función foo en la clase Bar , que toma algunos parámetros. foo es asíncrono y devuelve una promesa. baz es totalmente opcional y se puede encadenar a foo ( foo(param).baz(someOtherParam) ), lo que afectará la forma en que se ejecuta foo . Lo que es importante tener en cuenta aquí es que foo regresará sin que se llame al baz encadenado , pero si se llama a baz , será el que devuelva la promesa (no foo ).

Mi explicación probablemente sea confusa, así que aquí hay un ejemplo visual:

 // The promise is returned by the .where() const data = await User.where({ age: { $gte: 21 } }) // The .gte() function affects the execution. The promise is returned from .gte() const data = await User.where('age').gte(21) // .gte() doesn't return the promise anymore. The second chained .where() does. // But also we can just continue chaining onto that pretty much endlessly if we want to. const data = await User.where('age').gte(21).where('name', /^b/i)

Entiendo cómo encadenar métodos con funciones sincrónicas muy bien: simplemente devuelva un objeto con algunos métodos y ya está listo. Lo que me tiene perplejo es esta implementación, que se puede ver mucho en las bibliotecas.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda