ExtJs中MessageBox对象,如何同步执行代码?

官方文档说,MessageBox对象是异步,也就是说不会影响后面代码的执行,如果想异步,必须使用回调函数,我看了相关说明和做实验,也没弄明白,不同于window对象的alert方法,请问如何实现异步执行?

没太看明白你的意思
同步执行是指Ext.Msg.confirm在调用时会阻塞,直到确认完毕回调完成才继续运行。
异步执行是指Ext.Msg.confirm调用后不停留,继续运行下面的代码。而回调在其它的JS执行任务中被调用。

浏览器中的JavaScript引擎是单线程的,也就是说同一时间只可能有一个JS程序在运行,此次任务不完成,是不会开始下一个JS任务的。

可以参考这篇译文:
[url]http://www.phpweblog.net/rainman/archive/2009/01/05/6267.html[/url]

function test(){
// do something
var nextFn = function(){
// 这里是后续逻辑
};
Ext.Msg.confirm("确认","继续?",function(btn){
if(btn === "yes"){
// 确认触发,继续执行后续逻辑。
nextFn();
}
});
// 这里执行结束了
}

如果你的意思是怎么使Ext.Msg.confirm实现类似同步执行的效果,就将每一步需要确认的逻辑拆开,放到不同函数中。
然后在confirm回调中调用下一步的函数。

或者直接把代码发出来看看