首先执行函数然后再执行

时间:2018-04-09 13:28:53

标签: javascript jquery

这是我的功能

function checkuploadpincode(pin_check){
    var book = new Books('books/bookupload_pin_check/'+pin_check)
    book.fetch(function (data) {
      console.log(data);
      if(data.status==true){
        alert('service available');
        return true;
      }else{
        alert('Service not available.');
        return false;
      }
    },function(data){
      alert('Service not available.');
       return false;
    });
}

$('#continue1').click(function(){
    if($('#activeSchool').hasClass('active')){
      var school_pin_check = $("input[name=school_pin_check]").val();
      checkuploadpincode(school_pin_check);

      if(isbn==''){
        alert('ISBN field Required');
        return false;
      }
    }
});

当我在脚本上面运行时需要帮助它首先执行 checkuploadpincode()然后执行其他条件。但它执行其他我的功能。 我的事情我的功能需要时间来执行其他条件首先执行的原因。我需要运行我的功能完成然后低于条件。

2 个答案:

答案 0 :(得分:1)

尝试使用Promise。

 function checkuploadpincode(pin_check){
        return new Promise(function(resolve){
        var book = new Books('books/bookupload_pin_check/'+pin_check)
        book.fetch(function (data) {
          console.log(data);
          if(data.status==true){
            alert('service available');
           resolve(true);
          }else{
            alert('Service not available.');
            resolve(false);
          }
        },function(data){
          alert('Service not available.');
           resolve(false);
        });
        });
    }

    $('#continue1').click(async function(){
        if($('#activeSchool').hasClass('active')){
          var school_pin_check = $("input[name=school_pin_check]").val();
          var result = checkuploadpincode(school_pin_check).then(function(res){
            if(isbn==''){
              alert('ISBN field Required');
              return false;
            }
            return true;
          })
        }
    });

答案 1 :(得分:0)

使用此

  function checkuploadpincode(pin_check){
        var book = new Books('books/bookupload_pin_check/'+pin_check)
        book.fetch(function (data) {
          console.log(data);
          if(data.status==true){
            alert('service available');
            return true;
          }else{
            alert('Service not available.');
            return false;
          }
        },function(data){
          alert('Service not available.');
           return false;
        });
    }

    $('#continue1').click(function(){
        if($('#activeSchool').hasClass('active')){
          var school_pin_check = $("input[name=school_pin_check]").val();
          checkuploadpincode(school_pin_check,function(){
              if(isbn==''){
            alert('ISBN field Required');
            return false;
          }
});
        }
    });