nasust
21 Sep 2009, 6:59 PM
初めまして、初投稿となります。
ExtJS3を経験は一ヶ月ぐらいのものです。
ExtJS3で、コーディングしていて、疑問に思ったんですが、直感的なイベントのシーケンシャルな処理はできないでしょうか?
例えば、次のシーケンシャルな処理があるとします。
1.Windowを表示する。
2.ロードマスクを表示する。
3.Ajax.requestする。
4.Ajax.requestが終了したら、リモートから受け取ったデータを元に、Window内部のitemsを更新して、doLayout
5.doLayoutが完了したら、ロードマスク解除
自分が考えた直感的な疑似コード
window.on( "show" , showLoadMask , window ) //showイベントが発生したら、ロードマスクを表示
.on( "show" , ajaxRequest , connection )//showイベントが発生したら、Ajax.request
.on( "requestcomplete" , windowItemRefresh , window ) //requestcompleteイベントが発生したら、doLayout
.on( "afterlayout" , hideLoadMask , window );//afterlayoutが発生したら、ロードマスク解除
*scopeが指定されていたら、on関数は、scopeを返す。してなければ、thisを返す。
*functionでfalseを返すと、チェインを切る。
メソッドチェインならず、イベントコールバックチェインような感じです。
他に良いアイデアがあれば、よろしくお願いします。
ExtJS3を経験は一ヶ月ぐらいのものです。
ExtJS3で、コーディングしていて、疑問に思ったんですが、直感的なイベントのシーケンシャルな処理はできないでしょうか?
例えば、次のシーケンシャルな処理があるとします。
1.Windowを表示する。
2.ロードマスクを表示する。
3.Ajax.requestする。
4.Ajax.requestが終了したら、リモートから受け取ったデータを元に、Window内部のitemsを更新して、doLayout
5.doLayoutが完了したら、ロードマスク解除
自分が考えた直感的な疑似コード
window.on( "show" , showLoadMask , window ) //showイベントが発生したら、ロードマスクを表示
.on( "show" , ajaxRequest , connection )//showイベントが発生したら、Ajax.request
.on( "requestcomplete" , windowItemRefresh , window ) //requestcompleteイベントが発生したら、doLayout
.on( "afterlayout" , hideLoadMask , window );//afterlayoutが発生したら、ロードマスク解除
*scopeが指定されていたら、on関数は、scopeを返す。してなければ、thisを返す。
*functionでfalseを返すと、チェインを切る。
メソッドチェインならず、イベントコールバックチェインような感じです。
他に良いアイデアがあれば、よろしくお願いします。