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

139
Visualizações
Cómo obtener el valor de la promesa y la función de disparo

Sé que esta es una pregunta común, pero tengo un pequeño problema al intentar activar una función, SOLO cuando se ha devuelto una promesa. También quiero tomar el valor devuelto de la promesa.

  • Entonces quiero acceder a un servicio angular, que parece hacer una llamada a la API.
  • Espere a que la promesa se resuelva.
  • Luego almacene la promesa devuelta como un valor.
  • Y luego activa la función hello()

Parece que cuando disparo, ejecuto mi código a continuación, validPassengerId y hello() console.logs, antes de que se resuelva la promesa.

ingrese la descripción de la imagen aquí

¿Cómo reescribo este código para:

  • Espere a que la promesa se resuelva.

  • Luego tome el valor de la promesa resuelta: validPassengerId. (Y luego console.log).

  • ¿Y luego disparar la función hello() ?

     function hello() { console.log("hello"); }; const promise = new Promise((resolve, reject) => { let validPassengerId = _funnelBasketLuggageService.FindValidPassengerIdForBag(PassengerIds, bagsAssignedToPassengers, bag); resolve(validPassengerId); }); promise.then(validPassengerId => { console.log("validPassengerId", validPassengerId); hello(); });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Si de hecho _funnelBasketLuggageService.FindValidPassengerIdForBag devuelve una promesa, resuelve esto sin crear tu propia Promise :

 function hello() { console.log("hello"); }; const promise = _funnelBasketLuggageService.FindValidPassengerIdForBag(PassengerIds, bagsAssignedToPassengers, bag); promise.then(validPassengerId => { console.log("validPassengerId", validPassengerId); hello(); });

Explicación Lo que hizo fue envolver la Promise devuelta por FindValidPassengerIdForBag en otra Promise que se devuelve inmediatamente.

Si absolutamente tiene que envolverlo en su propia Promise , por ejemplo, porque necesita hacer un preprocesamiento, use .then en lugar del valor de retorno de la función:

 function hello() { console.log("hello"); }; const promise = new Promise((resolve, reject) => {_funnelBasketLuggageService.FindValidPassengerIdForBag(PassengerIds, bagsAssignedToPassengers, bag).then(id=>resolve(id)); }); promise.then(validPassengerId => { console.log("validPassengerId", validPassengerId); hello(); });
about 4 years ago · Juan Pablo Isaza Relatório

0

Suponiendo FindValidPassengerIdForBag devuelva una promesa, no necesita envolverla en otra promesa. Lo usarías así:

 _funnelBasketLuggageService .FindValidPassengerIdForBag(PassengerIds, bagsAssignedToPassengers, bag) .then(validPassengerId => { console.log("validPassengerId", validPassengerId); hello(); });

Si validPassengerId es nulo con este código, entonces eso debe ser a lo que FindValidPassengerIdForBag está resolviendo su promesa. Si no esperaba eso, verifique el código de FindValidPassengerIdForBag o verifique que esté pasando parámetros válidos.

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