Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

107
Visualizações
¿Por qué mi función en el servidor devuelve verdadero pero devuelve falso en el lado del cliente en Meteor.js?

Tengo la función hasCompleted que devuelve true o false , que está en el archivo del servidor:

 Smaples.helpers({ hasCompleted(userId) { // … switch (this.frequency) { case Frequency.ONE_TIME:{ return measures.fetch().every(measure => { console.log( 'measure.hasCompleted(userId)', // true measure.hasCompleted(userId), ); measure.hasCompleted(userId); }); } } // … }, })

Pero cuando se trata del lado del cliente, la función anterior devuelve false .

En el lado del cliente usando useTracker :

 const hasCompleted = useTracker( () => sample.hasCompleted(Meteor.myFunctions.getCurrentUserId()), ); console.log( 'survey.hasCompleted(Meteor.myFunctions.getCurrentUserId())', // false survey.hasCompleted(Meteor.myFunctions.getCurrentUserId()), ); console.log('hasCompleted', hasCompleted); // false

La forma en que accedo a los ayudantes desde el lado del cliente, ¿está mal?

intentos

dentro hasCompleted , devuelvo manualmente true y la consola muestra true :

 Smaples.helpers({ hasCompleted(userId) { // … switch (this.frequency) { case Frequency.ONE_TIME:{ return true; // changed } // … }, })

Además, pensé que si

 console.log(measure.hasCompleted(userId))

después de regresar se podría cambiar, pero

 console.log(measure.hasCompleted(userId))

todavía devuelve true :

 Smaples.helpers({ hasCompleted(userId) { // … switch (this.frequency) { case Frequency.ONE_TIME:{ return measures.fetch().every(measure => { measure.hasCompleted(userId); console.log( 'measure.hasCompleted(userId)', // true measure.hasCompleted(userId), ); }); } } // … }, })

¿Qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es muy probable que solo pierda un return en la devolución de llamada de su llamada de blocks.every measures.every() :

Array.prototype.every doc :

true si la función callbackFn devuelve un valor verdadero para cada elemento de la matriz. De lo contrario, false .

 Smaples.helpers({ hasCompleted(userId) { // … switch (this.frequency) { case Frequency.ONE_TIME:{ return measures.fetch().every(measure => { console.log( 'measure.hasCompleted(userId)', // true measure.hasCompleted(userId), ); // Make sure to return a truthy value if the item passes your condition return measure.hasCompleted(userId); }); } } // … }, })

Nota: en caso de que su matriz esté vacía (sin documentos), every siempre devuelve true ; ten cuidado si esto no es lo que quieres.

No estoy seguro acerca de su parte del servidor ya que no hay información al respecto.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda