タグ

brazilとmochikitに関するIMAKADOのブックマーク (3)

  • Deferredチェーン、非同期処理の逐次実行 - 実用

    JavaScript MochiKit.Async.Deferredは、「現時点ではまた利用できない値」を扱うためのクラスです。 以下のように、コールバックを並べ、イベントを発火させると、各々の返り値が次のコールバックへ渡され実行されていきます。 function increment(value){ alert(value); return value+1; } var d = new Deferred(); d.addCallback(increment); // alert(1) d.addCallback(increment); // alert(2) d.addCallback(increment); // alert(3) d.callback(1); この時、コールバックは以下のようにチェーンを形成しています。(当はエラーバックも合わせて一つのチェーンを形成しているのですが、

  • 繰り返しの終端条件として関数を入れる、演算コンテキストとデータ型の自動変換 - FAX

    JavaScript motemenの日記 - MochiKit.Iter.islice id:motemenのコード。 islice(array, 1, $) 配列を1から、$まで繰り返す(簡単に書くと)。$は、MochiKit.DOM.getElementのエイリアスであり関数。 isliceの中では、こんなふうに指定したとこまで来たら止まって欲しいと書いてある。 if (start >= stop) { throw self.StopIteration; } stopに1万とか、やたら大きい数を入れれば、常にfalseになり、配列の終端まで適切に繰り返される。 演算には、コンテキストがある。関数は、数値コンテキストではNaNになる。 >>> (function(){}) * 5 NaN 比較演算子は数値コンテキストが優先されるため、関数はNaNになる。NaNを比較すると、結果値は必ず

    IMAKADO
    IMAKADO 2008/01/27
    データ型の自動変換 JavaScript 第3版p.78
  • 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すれば実体がなんであろうと読めて書けるみたいなかんじです。

    IMAKADO
    IMAKADO 2007/12/24
    Deferred解説 わかりやすい
  • 1