簡體   English   中英

沒有回調和$ .ajax的Javascript方法同步調用

[英]Javascript method synchronous call without callback and $.ajax

歡迎,

我想調用沒有回調的同步javascript方法。 該方法是POST異步的。

function someMethod() {
    var bean; //bean is a proxy object provide by external library
    if(clicked_onSpecial_field) {
        if(!bean.isAuthorized()) { //here is a async call
            return false;
        }  
    }

    //a lot of other instructions... 

}

通常clicked_onSpecial_field = false一只手clicked_onSpecial_field = false所以我不能將所有其他指令放在回調中。 從另一個手bean是提供給我的代理對象。 在這種情況下,我不知道我可以用哪種方式使用$.ajax

能否請你幫忙?

我想調用沒有回調的同步javascript方法。 該方法是POST異步

如果該方法本質上是異步的,則無法對其進行調用,以使其同步返回。 那完全是不可能的。 請參閱如何從異步調用返回響應? 有關詳細信息。

通常clicked_onSpecial_field = false因此我無法將所有其他指令放入回調中。

當然可以!

function someMethod() {
    var bean; //bean is a proxy object provide by external library
    if (clicked_onSpecial_field) {
        bean.isAuthorized(goOn); // pass goOn as callback
    } else {
        goOn(true); // just call it directly if there's no async action
    }

    function goOn(cond) {
        //a lot of other instructions... 
    }
}

請注意, someMethod現在也是異步的,因此,如果您需要從中傳遞任何結果,則也需要在其中使用回調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM