【发布时间】:2018-11-10 07:47:27
【问题描述】:
我想要一个 save 函数来检查是否设置了会话(使用另一个函数)并停止基本函数继续,但该函数似乎继续(以下不可执行):
//1. Base save function
$("#save").click(function (e) {
e.preventDefault();
//step 0 check if logged in
checksession();
console.log("teststop"); //just for testing
//steps x continue execution of session exists
});
//2. Session check function
function checksession(){
$.ajax({
type: "GET",
url:"xxxx/sessioncheck.php",
dataType: "text",
cache: false,
success: function(data){
if(data == "no"){
return;
} else {} //continue
}
});
}
【问题讨论】:
-
$.ajax是异步的,这意味着下面的代码将继续执行并且不会阻塞。此外,即使这是一个阻塞调用,它也不会起作用,return仅适用于它被调用的函数。它不会传播到调用的外部函数并导致该函数返回它也不应该它。