例如
function getResult(field) {
$.ajaxSetup ({cache: false, async: false});
$.get("api.php?field="+field, function(i) {
result = i;
});
return result;
};
Run Code Online (Sandbox Code Playgroud)
这个问题是结果变得全球化.如果我这样做,var result = i;那么父函数(getResult)无法看到变量result.
有一个聪明的方法来做到这一点?
我发布的代码工作正常.我已经将我的AJAX调用设置为同步完成.
function doIt(arr) {
var result = [];
$.each(arr, function (y_u_key_jQuery_y_u_no_fix_api, value) {
result.push(value);
});
return result;
}
Run Code Online (Sandbox Code Playgroud)
通常,您要做的是在外部函数中创建一个局部变量,内部函数通过闭包范围进行操作