code: function(firstarg_array, loopfunc, endfunc) {
        return (this.y(function(func) {
          return function() {
            var passargs;
            passargs = a(arguments);
            passargs.unshift(function() {
              return func.apply(this, arguments);
            });
            passargs.unshift(function() {
              return endfunc.apply(this, arguments);
            });
            return loopfunc.apply(this, passargs);
          };
        })).apply(this, firstarg_array);
      }
docs: /*
  while Loop
  
  _while(firstarg_array, loopfunc, endfunc)
  終了条件のみを指定した繰り返しを行います。リトライループなどです。
  firstarg_array
  初回のf_judge, loopfuncの引数を配列にして示します。
  [arg1,arg2]が渡されると、loopfunc(_break,_next,arg1,arg2)が呼ばれます。
  loopfunc(_break,_next,...)
  繰り返し行う非同期処理です。
  繰り返しを中断するときは_break(...)を呼ぶと、endfunc(...)が呼ばれます。
  繰り返しを続行するときは_next(...)を呼ぶと、loopfunc(_break,_next,arg1,arg2)が呼ばれます。
  endfunc(...)
  次の処理です。上記の通り、引数を受け取ることができます。