我有一个同步 ajax调用某些服务。AJAX呼叫块显示对话框
我想先显示一个对话框,(对我来说这是一个ExtJS的窗口...但这是题外话。用一个简单的警报(..)同样的问题发生)。
然后立即显示对话框后,我想调用ajax调用,这需要大约30秒才能完成。但是,该对话框仅在ajax调用运行完成后(即在30秒内)才会显示。我甚至试图把它放在超时,但这并没有改变任何东西。
Util.logInfo('1. before popup')
setTimeout(function(){alert("Hello")},1000); //some kind of GUI action
Util.logInfo('2. after popup')
var self = this;
var call = {}
call.url = url;
call.xmlHttpReq = $.ajax({
url: 'somewebserviceURLthattakesaloooongtime',
dataType: 'json',
async: false,
type: 'GET'
}).always(function (processedDataOrXHRWrapper, textStatus, xhrWrapperOrErrorThrown) {
self.data = processedDataOrXHRWrapper;
});
Util.logInfo('3. after ajax')
这是与jQuery的Ajax功能的一个特殊问题,还是我失去了有关如何AJAX作品东西根本 ?
从Java背景来看,它几乎就好像有某种event-dispatch-thread活动正在进行。
是的,它修复了它,但我希望它运行同步而不是异步。如果在通话后显示另一个弹出窗口,它会立即显示。我想要在两个对话框之间暂停。 – 2014-09-26 12:57:25