タグ

setTimeoutに関するmogwaingのブックマーク (4)

  • Kazuho@Cybozu Labs: Re: for 文を setTimeout に変換する

    « メッセージキュー事始め in Perl - コマンドラインクライアントを作ってみた | メイン | djbdns にパッチをあてて Anti-DNS Pinning 対策 » 2007年11月08日 Re: for 文を setTimeout に変換する for 文を setTimeout に変換する - IT戦記の件。おもしろい。自分だったらこう書くかなと思いました。 function timeout_for(f1, f2, f3, fe) { var i = typeof f1 === 'function' ? f1() : f1; var rep = function () { if (typeof f2 === 'function' ? f2(i) : (i < f2)) { setTimeout( function () { fe(i); i = typeof f3 == '

    mogwaing
    mogwaing 2008/01/31
    面白い。これは使えそう
  • FirefoxのsetTimeoutの実装 - bits and bytes

    Firefoxのソースコードを追っているうちに、たまたま1年遅れで IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 の裏側がどうなっているかがわかったので、その話を。 タイマーの管理方法 そもそもjavascriptからsetTimeoutを呼ぶと、どういう仕組みで指定した時間後に渡した関数が呼び出されるようになっているのでしょう。Linuxであればsleepのように一定時間後にawakeするという処理は、タイマーリストによって管理されています。カーネルの中にN jiffies(LinuxのOS内時間の単位はjiffyと呼ぶそうです)経過後に実行することリストがあって、カーネルが4msごとに毎回タイマーリストをチェックしてやることがあったときにはそれを実行しています。 FirefoxもLinuxと同じようにタイマーリストみたいな

    mogwaing
    mogwaing 2007/09/22
    すばらしい。わかりやすい。
  • 404 Blog Not Found:javascript - ページはいつ再描画されるか

    2006年09月23日01:30 カテゴリLightweight Languages javascript - ページはいつ再描画されるか 大変に有用な考察だが、一つ重要な指摘漏れがある。 IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 setInterval、setTimeout、イベントによる関数の実行を理解することだと思う ページがいつ再描画されるか、ということである。 未経験者は、document.write()やelement.innerHTML = "foo"のように、ブラウザーに「書き出した」点でそれが直ちに反映されると思うだろう。 ところが、そうではないのである。 実例を見てみよう。以下のscriptを考えてみる。ボタンを押すと、ボタンのラベルが1000から1までカウントダウンした後、元通りになることを意図してい

    404 Blog Not Found:javascript - ページはいつ再描画されるか
  • setTimeoutとJavaScriptのスレッド - llameradaの日記

    amachangさんのsetTimeoutに関する記事とコメントを読んだら気になったので、setTimeoutとブラウザでのJavaScriptについて調べてみた。 setTimeoutには現在のところ明確な仕様はないようである。ただし、Web Applications 1.0のドラフトによれば、複数のスクリプトが同時に実行されることはなく、シングルスレッドでスクリプトが実行されるようだ。 Timeouts must never fire while another script is executing. (Thus the HTML scripting model is strictly single-threaded and not reentrant.) 従って、この仕様に従うブラウザに対しては、amachangさんの指摘は正しいと思う。 ただ、個人的にはスクリプトがシングルスレッ

    setTimeoutとJavaScriptのスレッド - llameradaの日記
  • 1