如何从AJAX包装函数返回

时间:2013-09-19 10:59:15

标签: javascript jquery

var wrapper = function() {

   var condition; //boolean  

   $.get('url', function(data) {

      console.log(data); //url
      condition = true/false;

   });

  return condition; 
}

当我执行wrapper()时,由于undefined的异步性质,它始终返回$.get。如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

为什么不做这样的事情并使用回调

var wrapper = function(callback) {

    var condition; //boolean  

    $.get('url', function(data) {

        console.log(data); //url
        condition = true/false;
        callback(condition);
    });

}

wrapper(function(condition){
    //do something with the returned condition
});

如果您提供更多详细信息,我可以对其进行扩展以帮助您进一步

答案 1 :(得分:2)

使用异步操作时,不返回任何内容。而是将回调函数作为参数发送到wrapper函数。

var wrapper = function(callback) {
   var condition; //boolean  
   $.get('url', function(data) {
      condition = true/false;
      callback(condition);
   });
}

wrapper(function(condition) {
   // check condition
});