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

138
Visualizações
Función que regresa antes de que se resuelva la promesa jQuery dentro de la promesa

Tengo una función que llama a dealCardSelectableAI() , que configura una serie de promesas diferidas de jQuery. A continuación, se llama a la función setCardName() desde su interior. Una vez que ambas funciones completen sus tareas, debería saveGame() .

Todo funciona, excepto setCardName() no se completa antes de que se saveGame() . Parece que deferredQueue.push(setCardName(system, result)); no está funcionando como esperaba. No estoy seguro de dónde me estoy equivocando o cómo resolver el problema.

 var setCardName = function (system, card) { var deferred = $.Deferred(); require(["cards/" + card[0].id], function (data) { var cardName = loc(data.summarize()); system.star.ai().cardName = ko.observable(cardName); deferred.resolve(); }); return deferred.promise(); }; var dealCardSelectableAI = function (win, turnState) { var deferred = $.Deferred(); // Avoid running twice after winning a fight if (!win || turnState === "end") { var deferredQueue = []; _.forEach(model.galaxy.systems(), function (system, starIndex) { if ( model.canSelect(starIndex) && system.star.ai() && system.star.ai().treasurePlanet !== true ) { deferredQueue.push( chooseCards({ inventory: inventory, count: 1, star: system.star, galaxy: game.galaxy(), addSlot: false, }).then(function (result) { deferredQueue.push(setCardName(system, result)); system.star.cardList(result); }) ); } }); $.when(deferredQueue).then(function () { deferred.resolve(); }); } else { deferred.resolve(); } return deferred.promise(); }; dealCardSelectableAI(false).then(saveGame(game, true));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su código dice llamar a saveGame () y lo que se devuelve de la llamada a la función debe establecerse en ese momento. No está diciendo, "llame a saveGame cuando haya terminado"

 dealCardSelectableAI(false).then(function () { saveGame(game, true) });
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