映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。

映画、ウィンストン・チャーチル/ヒトラーから世界を救った男 (字幕版)を観ましたよ。これは良かった。

成功は決定的ではなく、失敗は致命的ではない。大切なのは続ける勇気だ
Success is not final, failure is not fatal: it is the courage to continue that counts

 

非同期通信の2重ループは素人にはオススメしません。

sai

非同期通信の2重ループは素人にはオススメしません。
そして、2重ループでなおかつ、再帰処理だったら・・・
まさにややこしくなる事間違いないので
オススメ度は限りなく低いですね。

ただ、こういう事も出来ることを覚えていると
何かの役に立つことは間違いないです。
ちなみに再帰処理は、いろいろな言語で可能ですので
技として覚えていて損はないです。

再帰処理を追う方法はループせずに見るという
感覚を養うことが大事だと思います。
ようするに再帰処理を抜け出すひとつ前の値で
トレースすることが大事だと思われます(´Д`)。

ちなみに非同期通信の場合、非同期ですので
返ってくる順番はめちゃくちゃです。
何か番号を振って処理しないと、うまく処理されない
という事になるのでそこらへんも注意して
組み立ててください。

下記はsampleコードです。

  function hoge(cnt){
    $.ajax({
       type: "POST",
       url: "json.php",
       data:{
           cnt:cnt
       },
       dataType: 'json',
       success: function(obj){
           var cnt = Number(obj.cnt);
           var id_name = obj.id_name;
           $("id_no").html(cnt);
           $("id_name").html(id_name);
                    $.ajax({
                       type: "POST",
                       url: "json.php",
                       data:{
                           mode:"name_chg",
                           cnt:cnt,
                           name:"No." + cnt + ":" + id_name
                       },
                       dataType: 'json',
                       success: function(obj){
                           var cnt = Number(obj.cnt);
                           var id_name = obj.id_name;
                           $("id_no").html(cnt);
                           $("id_name").html(id_name);
                            if(id_name!=""){
                                 hoge(++cnt);
                             }else{
                                 alert("もうねぇよ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!")
                             }           
                       }

                    });
        }

    });
  }