ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。JavaScriptでサンプルコードを書く機会があったので、どんなインターフェースで提供するのが便利なのか考えてみました。よく問題になるコールバックのネスト問題について、一般的な話をまとめてみます。 お題 突然ですが、次のような処理を行う必要があるとします。 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する これをプログラムで書くとどうなるでしょうか? シェルスクリプトの場合(同期) たとえばシェルスクリプトで素直に書くと、次のようになります。
javascriptってコールバック地獄は避けられないの?という話があったので名前だけ知っていたjQuery.Defferdについて調べてみました。 コールバック地獄? 1秒後に"hoge"その更に2秒後に"fuga"を出力する場合CoffeeScriptではこんな風になったりします。 setTimeout ()-> console.log "hoge" setTimeout ()-> console.log "fuga" , 2000 , 1000 上のコードは簡単な例なのでいいですが、さらに非同期にデータを通信したり、何秒後にこれして、その数秒後にあれしてってなるとどんどん複雑になり、「コールバック地獄」におちいります。 その解決の1つjQuery.Defferdについて調べてみたので記載しておきます。 jQuery.Defferd? jQuery1.5以降にに備わっている機能のひとつ
この記事は賞味期限切れです。(更新から1年が経過しています) AS3にある多くのクラスの中でもお世話になる事が多いのが、EventDispatcher。 カスタムイベントを登録して送出したり出来るので大変便利。 本稿は、JavaScriptでも似た事が出来ないかなぁと試行錯誤してみたログです。 AS3のEventDispatcher まず、AS3のEventDispatcherはどのような代物なのか。 EventDispatcher – ActionScript 3.0 コンポーネントリファレンスガイド public class Example extends EventDispatcher { public static const EVENT_CHANGE:String = "change"; private var value:String = "Hello, World!"; /*
シンプルなEventDispatcherを自作してみました。 仕様としては、 イベント名を渡すとイベントがあるかどうかわかる イベント名とコールバック関数を渡すとイベントを登録できる イベント名とコールバック関数を渡すとイベントを削除できる イベント名(と引数)を渡すとイベントを実行できる の4点を実現しております。 ソースコード function EventDispatcher() { this._events = {}; } /** * イベントが登録されているか調べます * @param {string} eventName // イベント名 */ EventDispatcher.prototype.hasEventListener = function(eventName) { return !!this._events[eventName]; }; /** * イベントを登録しま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く