我知道这已被多次询问。我有一个Javascript函数需要从异步调用中返回结果。
function IsValid(callback){
$.ajax({
url:...
success:(function(data){
callback(data);
});
};
IsValid(function(data){
//process returned data
};
我也可以用诺言来做类似的工作。但是,我需要的是IsValid函数必须返回一个bool值,而不是直接处理结果。我需要
if (IsValid())
//process
因为将在不同的函数中调用IsValid函数,并且每个调用函数的进程都不同。
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
使用承诺。 jQuery为AJAX调用返回一个延迟对象,其作用类似于Promise:
function IsValid() {
return $.ajax({
url:...
});
}
IsValid().then(function(data) {
// process returned data
});