素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

非同期難しい

両方の処理が終わったら関数を実行したい。

function get(url,callback){
  with(new XMLHttpRequest){
    open('GET',url,callback);
    send(null);
    if(callback)
      onload=function(){callback(this.responseText)};
    else
      return responseText;
  }
}

get(location.href,
  function(){
    var args=[arguments];
    get(location.host,function(){
      args.push(arguments);
      console.log(args)
      })
  })

というコードを書いたけど、これだとlocation.hrefのresponseTextの取得を待ってからlocation.hostのresponseTextを取得してしまう。

location.hrefのとlocation.hostのはどっちを先に取得してもいいんだけど、こういうのはどういう風に書けば・・・?
非同期難しい。