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

时间:2015-03-30 12:51:46

标签: javascript extjs model-view-controller view

当我试图在我的控制器中执行此代码时:

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

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

1 个答案:

答案 0 :(得分:0)

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

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

updateViewRangeControl中执行的代码(并且期望我假设的完全加载的商店)必须在商店的load侦听器中运行,该侦听器加载在newEditorRequest中。

检查this