有点像这样:
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; } } }
我希望它能奏效,但是没有。为什么不?有人可以提出解决方案吗?
您应该对函数使用回调传递,并让它处理您的数据。
function getfoo(callback) { var foo = ""; $.get("foofile.html", function (data) { callback(data); // do some other things // ... }); } getfoo(function(data) { console.log(data); });