dojo/topic
これは、Dojo1.4以降で機能するIOPipelineTopicsを介して実現できます。
jsFiddleの実例を参照してください:http://jsfiddle.net/phusick/cMHdt/
まず、IOパイプライントピックをグローバルに有効にする必要があります。これは、、、または(使用するものによって異なります)のいずれかに設定されioPublish: true
ます。dojoConfig
data-dojo-config
djConfig
次にdojo.subscribe()
、特定のトピックに移ります。例:
dojo.subscribe("/dojo/io/start", function(e) {
dojo.style(throbberNode, "display", "block");
});
dojo.subscribe("/dojo/io/stop", function(e) {
dojo.style(throbberNode, "display", "none");
});
topics
Dojoのドキュメントに従って利用できるのは次のとおりです。
/dojo/io/start
未処理のIO要求がなく、新しいIO要求が開始されたときに送信されます。このトピックでは引数は渡されません。
/dojo/io/send
新しいIO要求が開始されるたびに送信されます。トピックを含むリクエストに対してdojo.Deferredを渡します。
/dojo/io/load
IO要求が正常にロードされるたびに送信されます。応答とdojoを渡します。トピックを含む要求に対して延期されます。
/dojo/io/error
IO要求がエラーになるたびに送信されます。エラーとdojoを渡します。トピックを含むリクエストに対して延期されます。
/dojo/io/done
ロードまたはエラーのいずれかによって、IO要求が完了するたびに送信されます。エラーとdojoを渡します。トピックを含むリクエストに対して延期されます。
/dojo/io/stop
すべての未処理のIO要求が終了したときに送信されます。このトピックでは引数は渡されません。