ExtJs 4 从另一个控制器同步调用函数

ExtJs 4 call functions from another controller synchronously

当我尝试在我的控制器中执行这段代码时:

epgES.getApplication().getController('epgES.controller.EPGController').newEditorRequest();
epgES.getApplication().getController('epgES.controller.EPGController').updateViewRangeControl(Ext.Date.parseDate(eventStart, "c"));

第一行必须初始化我的控制器、创建视图并加载所有商店,而第二行只需调用控制器的一个函数并在控制器完全加载后更改日期范围。 但我注意到第二行在第一行尚未完成时执行,并且我想要实现的所有逻辑都被破坏了。 如何处理这个问题并执行这两个方法"synchronously" ?

这是浏览器工作方式的预期行为和异步性质。

这是因为您的浏览器在执行下一行代码之前不会等待服务器响应。您可以在加载网页时见证这一点:有时您甚至可以在图像显示之前就开始阅读文本。

updateViewRangeControl 中执行的代码(我假设是完全加载的商店)必须是 运行 在您商店的 load 侦听器中,加载在 newEditorRequest.

检查 this