有点像:
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); });