Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript Asyn在不等待响应的情况下返回_Javascript_Asynchronous - Fatal编程技术网

JavaScript Asyn在不等待响应的情况下返回

JavaScript Asyn在不等待响应的情况下返回,javascript,asynchronous,Javascript,Asynchronous,我有一个JavaScript函数,它发出ajax请求,并根据结果返回true或false 问题是,当我调用函数时,它会立即返回,而不必等待ajax请求发出并真正返回正确的响应。我该怎么处理 function check_value() { //Pseudo code ajax('some-url.php', function(response) { if(response.success) { return true; } else {

我有一个JavaScript函数,它发出ajax请求,并根据结果返回
true
false

问题是,当我调用函数时,它会立即返回,而不必等待ajax请求发出并真正返回正确的响应。我该怎么处理

function check_value() {
   //Pseudo code
   ajax('some-url.php', function(response) {
      if(response.success) {
         return true;
      } else {
         return false;
      }
   });
}

if(check_value()) {
   alert("true");
} else {
   alert("false");
}

看到问题了吗?在AJAX请求触发并调用回调之前,check_value()立即执行并返回。

这是异步调用的固有特性,您永远不知道何时完成。因此,创建两个成功和错误处理程序:

function check_value() {
   //Pseudo code
   ajax('some-url.php', function(response) {
      if(response.success) {
         handleSuccess();
      } else {
         handleError();
      }
   });
}

function handleSuccess() {
    alert('true');
}

function handleError() {
    alert('false');
}
async=>不等待响应这基本上是整个概念的定义。