Asynchronous 从异步调用返回值

Asynchronous 从异步调用返回值,asynchronous,call,Asynchronous,Call,我知道这已经被问过很多次了。我有一个Javascript函数,需要从异步调用返回结果 function IsValid(callback){ $.ajax({ url:... success:(function(data){ callback(data); }); }; IsValid(function(data){ //process returned data }; 我也可以用承诺做类似的工作。然而,我需要的是IsValid函数必须返回bool值,而不是直接处理结果 if (IsVali

我知道这已经被问过很多次了。我有一个Javascript函数,需要从异步调用返回结果

function IsValid(callback){
$.ajax({
url:...
success:(function(data){
callback(data);
});
};

IsValid(function(data){
//process returned data
};
我也可以用承诺做类似的工作。然而,我需要的是IsValid函数必须返回bool值,而不是直接处理结果

if (IsValid()) 
//process
因为IsValid函数将在不同的函数中调用,并且每个调用函数的过程不同


任何帮助都将不胜感激。谢谢。

使用承诺。jQuery为AJAX调用返回一个延迟对象,其行为类似于承诺:

function IsValid() {
  return $.ajax({
    url:...
  });
}

IsValid().then(function(data) {
  // process returned data
});
可能重复的