欢迎,
我想调用没有回调的同步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
开始,所以我不能把所有其他指令放在回调中。
从另一只手bean
是提供给我的代理对象。在这种情况下,我不知道我可以使用$.ajax
。
你能帮忙吗?
答案 0 :(得分:1)
我想调用没有回调的同步javascript方法。该方法是POST异步
如果该方法本质上是异步的,则无法调用它以使其同步返回。那是完全不可能的。有关详细信息,请参阅How do I return the response from an asynchronous call?。
通常是
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
现在也是异步的,所以如果你需要从中传递任何结果,那么你也需要在那里使用回调。