此代码停止mousemove事件
$.ajaxSetup({async:false});
$.get(url).success(function(data) { result = data; });
Run Code Online (Sandbox Code Playgroud)
有没有办法避免这种情况但保留$ .ajaxSetup({async:false});,就像加载函数一样?
谢谢
加法:
如果我需要怎么办
$.ajaxSetup({async:false});
$.get(url).success(function(data) { result = data; });
$.ajaxSetup({async:true});
return result
Run Code Online (Sandbox Code Playgroud)
怎么处理?
谢谢
return意味着同步代码流.async: false但是,AJAX是异步的.这并不意味着你应该使用async: false.相反,您应该更改代码流以使用回调而不是返回值.
这是必需的,因为无法使异步代码同步(即不能return与异步函数一起使用).唯一的方法是自己提供回调:
function get(url, callback) {
$.get(url).success(function(data) { callback(data); });
}
Run Code Online (Sandbox Code Playgroud)
喜欢:
get("...", function(result) {
// use `result` which you normally got by assigning the return value
// of `get` to a variable
});
Run Code Online (Sandbox Code Playgroud)