2016-04-11 3 views
1

私はJavascriptを使用しており、Android Javaでこれと同様のことをしたいと考えています。Android用マルチローダhttpリクエスト

//jquery 
$.when(Ajax1, Ajax2, Ajax3) 
    .done(function(response1){  
     // to do after all complete 

     }) 
    .fail(function(err){ 
     // err 

     }); 


// Or AsyncJs 
async.parallel([ 
    function(callback){ 

    }, 
    function(callback){ 

    } 
], 
// optional final callback 
function(err, results){ 

}); 

Androidで私はローダーを知り、このすべてを読んでいます。 http://developer.android.com/guide/components/loaders.html

ここではloadTaskを1つだけロードする方法を知っています。

が、私は、ex多くのタスクをロードする場合:そのうちの一つは、アラートをロードし、再試行してクリックしない場合、すべてを完全には、その後UI、
を表示する場合ProfileTask、OrderTask、ProductTask、...

+0

このように 'LoaderManager#initLoader(id、args、callback);'を異なるIDで複数回呼び出す – pskink

+0

@pskink私は多くのIDを使用することを理解しています。しかし、それらのすべてが完了したとき、または1ローダーが失敗したときにコンセプトを実行する方法、残りのローダーをすべてキャンセルして発信者に通知する方法。 – riseres

+0

とその問題は何ですか? N個のローダを呼び出し、 'onLoadComplete'でステータスをチェックします。もし誰かが失敗したら、残りのローダをキャンセルし、失敗した場合は呼び出し側に通知します。そうでなければ、完了したローダの数がNかどうかを確認します。成功 – pskink

答えて

0

私は別の方法をお勧めします。 IntentServiceまたはJavas Executorsクラスを見て、そこから "xxxTasks"を呼び出して、ブロードキャスト/ EventBusを通して結果をあなたの活動に伝えてください。

関連する問題