小编典典

一个ajax调用的结果出现后,如何返回一个函数的值?

ajax

有点像这样:

function getfoo() {
  var foo = "";
  $.get("foofile.html", function (data) {
    foo = data;
  });
  return foo;
}

但是,由于脚本是异步的,因此它将返回“”。那显然不是我想要的。

所以我尝试了这个:

function getfoo() {
  var foo = "";
  $.get("foofile.html", function (data) {
    foo = data;
  });
  for (;;) {
    if (foo != "") {
      return foo;
      break;
    }
  }
}

我希望它能奏效,但是没有。为什么不?有人可以提出解决方案吗?


阅读 206

收藏
2020-07-26

共1个答案

小编典典

您应该对函数使用回调传递,并让它处理您的数据。

function getfoo(callback) {
  var foo = "";
  $.get("foofile.html", function (data) {
    callback(data);
    // do some other things
    // ...
  });
}

getfoo(function(data) {
   console.log(data);
});
2020-07-26