說我有一個這樣的畫面:在Aviarc屏幕中設置AJAX工作流程響應處理程序的正確方法是什麼?
<screen>
<button label="Foo" name="foo-button"/>
<action:behaviors>
<action:when widget-event="foo-button.onClick">
<action:call-ajax-workflow name="ajax/do-lots-of-foo"/>
<!-- (1) -->
<action:call-ajax-workflow name="ajax/do-less-foo"/>
<!-- (2) -->
</action:when>
<action:when system-event="onAjaxRequestCompleted">
<!-- (3) -->
</action:when>
</action:behaviors>
</screen>
是什麼把一個處理程序爲每個AJAX請求的正確的地方嗎?理論上,我會假設(1)或(2)不正確,就好像工作流程是真正異步的,那麼ajax/do-less-foo
應該在ajax/do-lots-of-foo
之前返回。
我的直覺是在位置(3)處理響應,並根據event-parameters.workflow
的值有條件地執行不同的代碼。
這是正確的嗎?或者是call-ajax-workflow
實際阻塞,並且onClick
塊中的命令只是連續執行?