在Javascript事件中根据异步结果返回

时间:2017-05-15 04:06:34

标签: javascript events asynchronous

<a href="www.google.com">Google</a>   

$("a").click(function(){
    $.getJSON("/api",resp =>{
        if(resp.status===0){
            // keep the event propagation
        }else{
            // stop the event propagation
        }
    });
});

鉴于上面的例子,一旦用户点击链接,ajax调用将发送到服务器,一旦响应的内容有效,那么我们应该保持事件传播就像没有发生任何事情一样,一旦无效,我们就停止事件传播,这意味着我们应该停止浏览器跳转到Google

通常我们使用以下内容进行同步操作:

$("a").click(function{{
    if(SyncOperation(xxx)){
        //do nothing
    }else {
        return false;
    }
});

我不知道如何为ajax调用之类的异步操作实现它。

有什么建议吗?

0 个答案:

没有答案