gpt4 book ai didi

javascript - 如何确保 javascript/jquery 总是在返回 true(打开链接)之前完成点击功能?

转载 作者:行者123 更新时间:2023-11-30 08:59:24 25 4
gpt4 key购买 nike

我有一个点击功能,用于当用户注销时

$('#logout').click(function(){

// update database and tell other users that this person has logged off

});

#logout 是一个链接的id(注销按钮)

该函数将处理一些 ajax/php/数据库操作 + 发送套接字消息,很容易需要几毫秒才能完成

我可以相信 javascript/jquery 在实际返回 true(打开被点击的链接)之前完成该功能吗?

或者有什么方法可以确保它完成它.. 从“return false”开始,然后仅当它从 php 收到 OK 时才返回 true?

最佳答案

当操作涉及 AJAX 或任何异步操作时,您永远无法执行“返回”。否则,您将失去异步的本质。

相反,在完成后移交一个回调来执行。或者返回一个延迟对象并让它监听 ajax 是否完成。

$('#logout').click(function(e){
//store location for later use
var location = $(this).attr('href');
//prevent link from being followed for now
e.preventDefault();
$.ajax({params}).done(function(e){
//user logged out, follow link
window.location = location;
}
}

//while idle and waiting for ajax to complete
//do a moonwalk...

关于javascript - 如何确保 javascript/jquery 总是在返回 true(打开链接)之前完成点击功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com