タグ

JavaScriptとdeferに関するk_37toのブックマーク (4)

  • JavaScriptでwait、sleep、pause - mayokara memo

    JavaScriptにはwaitやsleepのような関数はありませんが、タイマとクロージャを利用することにより擬似的にwaitをかけることができます。 ところがネット上にイマイチまとまった説明がない。 というわけで、素人なりにざっくりまとめてみようというエントリがこれ。 適切なタイミングでwaitをかけることにより、ブラウザが長時間固まるのを防ぐことができます。 ■ 前提 setTimeoutは関数を指定時間後に登録するだけで、特に待ったりはしません。 登録後は即座に続きの処理が実行されます。 また、setTimeoutの返値はタイマIDで、登録した関数の返値は意味を持ちません。 このタイマIDをclearTimeoutに渡せば、関数が実行される前にキャンセルすることができます。 ■ シンプルなwait function simple_wait(){ var restart = funct

  • MochiKit.Async.Deferredで非同期処理の同期処理を直感的に書く « ku

    LDRize minibuffer reblog commandは中身の95%がTumblrにポストするJSActionsスクリプト、2007/6/10版 - 実用で出来ていて、今後のメンテナンス性(というかいかに自分は何もしないかという意味だけど)を考えるとTomblooのコードベースに移行しないといけないのでTomblooのコードを読みました。0.0.9のやつです。 Tombloo、0.0.7 - 実用に15日かけてリファクリタングしたと書かれていますが、読んで感動。ShareOnTumblrのときは大きく変わって各サービスをみんなおんなじインターフェイスでtumblrにpostできるような抽象化層が作られていて、ぜんぶ extract -> post っていうメソッド呼び出しで完結するようになってました。readしてwriteすれば実体がなんであろうと読めて書けるみたいなかんじです。

  • ultra blue:JavaScript : 関数から関数を呼ぶ関数を作る関数

    こんなふうに書けるようになるよ この tz.$F_list を使って、例えば var Sequence= tz.$F_list.$struct({ _call_next: function(obj,next,args){ var self= this; setTimeout( function(){ // 関数を実行して、戻り値を「次」に渡す // next(obj.apply(this,args)); でも同じ self.$super._call_next(obj,next,args); },this.interval()); }, interval: function(){ return 500; } }); のようなオブジェクトを用意しておけば、 var $n=111; var fn= Sequence.from( function f1(i){ console.log(i); //

  • innerHTMLでscriptする - Thousand Years

    innerHTMLにscriptを代入しても評価されず無視されるのはIEの仕様なのでいいとしてその回避策。最近、昔あの方法で出来たんだけどいつの間にかできなくなってるコードが出てきている気がします(気のせいにしておこう)。 以下は一般的な動かないコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML = "<script type='text/javascript'>alert('動かない')<"+"/script>"; </script> 以下は動くコード。 <div id="foo"></div> <script type="text/javascript"> document.getElementById('foo').innerHTML =

    innerHTMLでscriptする - Thousand Years
  • 1