我们在申请中遇到严重的性能问题。我们需要向后端发送三个不同的请求,当我们使用webflow并且我们逐个发送它们时,这会导致相当大的屏幕加载时间。
我们可以并行调用三种webflow状态,以便我们能够并行向后端发送三个请求吗?或者有没有办法加载我们的屏幕并稍后调用一两种方法?
我们需要从retrieveAccInsList视图状态导航到accSummary视图状态,但在我之间需要发送三个不同的Request to backenf,因为AccSumary屏幕包含3个屏幕合并,所以我需要来自三个不同位置的数据。但是是必需的解决方案< / p>
<view-state id="retrieveAccInsList">
<transition on="openAccount" to="detailForAccountAction">
<set name="conversationScope.selectedAccount" value="reqSearchHandler.selectedAccIns" />
<set name="reqSearchHandler.objectToRetrieveCd" value="'RequestSearch'" />
</transition>
</view-state>
<action-state id="detailForAccountAction">
<evaluate expression="accountDetail.getDetailsForAccount(ClientDetailRq)"
result="flowScope.response">
<attribute name="name" value="detailAccountResponse" />
</evaluate>
<transition on="detailAccountResponse.success" to="searchNoteAction" />
<transition on="detailAccountResponse.error" to="retrieveAccInsList" />
</action-state>
<action-state id="searchNoteAction">
<evaluate expression="certNotesHandler.searchForNotes()"
result="flowScope.response">
<attribute name="name" value="noteResponse" />
</evaluate>
<transition on="noteResponse.success" to="searchActivityAction" />
<transition on="noteResponse.error" to="retrieveAccInsList" />
</action-state>
<action-state id="searchActivityAction">
<set name="reqSearchHandler.requestStatus" value="'O'" />
<set name="reqSearchHandler.objectToRetrieveCd" value="'RequestSearch'" />
<evaluate expression="reqSearchHandler.setparam()" />
<evaluate expression="reqSearchHandler.searchForRequest(ReqInquireRq)"
result="flowScope.response">
<attribute name="name" value="activtiyResponse" />
</evaluate>
<transition on="activtiyResponse.success" to="accSummary" />
<transition on="activtiyResponse.error" to="retrieveAccInsList" />
</action-state
答案 0 :(得分:0)
不确定;使用Ajax。但是没有进一步的细节,很难说 - 为什么你需要“并行”调用三个webflow状态?它被称为“流”,因为它们是线性的(至少在一次对话中;我知道你可以同时激活多个流)。