0
var wrapper = function() {

   var condition; //boolean  

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

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

   });

  return condition; 
}

当我这样做时,wrapper()它总是undefined因为$.get. 我该如何解决这个问题?

4

2 回答 2

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
});

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

于 2013-09-19T11:02:18.763 回答
2

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

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

wrapper(function(condition) {
   // check condition
});
于 2013-09-19T11:02:35.950 回答