Javascript函数等待,直到另一个函数返回true或false并相应地执行某些操作

时间:2018-05-19 10:09:20

标签: javascript jquery ajax wait

我正在制作一个ludo游戏,但为了移动你需要正确回答问题。

我有这个移动部件的onclick功能:

if(getQuestion()){
  greenPieces[i].moveSmart(diceResult);
}

基本上,函数moveSmart将根据骰子滚动移动碎片,getQuestion将打印一个问题,如果该问题的答案是正确的,则返回true,如果回答错误则返回false。

$(document).on("submit","form#ajax-panel", function(event){
  event.preventDefault();
  var dataObj2={
    answer: $("#answer option:selected").val(),
    answerWriten: $("#answerWrite").val(),
    correctAnswer: $("#correctAnswer").val(),
    difficulty: $("#questionDifficulty").val(),
  }
  console.log(dataObj2);

  $.ajax({
    url: 'ajax/checkAnswer.php',
    type: 'POST',
    dataType: 'json',
    data: dataObj2,
  })
  .done(function(data2) {
    console.log("Checking step completed");
    if (data2.answer == data2.correct) {
      console.log("true");
      $('#ajax-panel').html("");
      $('#ajax-panel').append("<p>Točno!</p>"); 
      return true;
    } else {
      console.log("false");
      $('#ajax-panel').html(""); 
      $('#ajax-panel').append("<p>Netočno!</p>"); 
      return false;
    }
  })

这两个功能都是独立工作的,但我不知道如何使第一个功能等待第二个功能。完整代码在这里,在jscode.js中,函数getQuestion在第546行,我从第439,469,492,531行调用它。我已经在这个问题上停留了3天而且我尝试了多个东西回调和超时但没有任何效果。

0 个答案:

没有答案