タグ

callbackに関するastk_fのブックマーク (9)

  • Callback を撲滅せよ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。言語サポート(Node.js)チームの伊藤(@koh110)です。 Node.js v10 も10月にLTSとなり async/await によるフロー制御は当たり前のように利用されるようになってきました。JavaScriptの非同期処理は async/await から覚える人も今後増えていくでしょう。今回はそんな非同期処理について、社内での事例を交えて記事を書いていこうと思います。 index Promise 化がなぜ重要なのか ユーザーに promisify をさせる落とし穴 Road to Promise まとめ Promise 化がなぜ重要なのか ちょうど3年前のアドベントカレンダーで、今後はいろいろなモジュー

    Callback を撲滅せよ
  • コールバックと上手に付き合う - Qiita

    コールバック、よく使いますよね。 非同期処理の結果を受け取るには、必ずと言っていいほど付き合うことになるコールバックですが、UI のようにライフサイクルを持つオブジェクトと共存するには、考慮すべきことがいくつかあります。 ここでは、おおまかに、上手にコールバックと付き合う方法を見ていきます。 基となるポイント なんといってもまず抑えなければいけないポイントは、ライフサイクルを持つオブジェクトとの共存です。世に出回っている様々なコールバック管理のためのライブラリは、このライフサイクルを持つオブジェクトとの共存をいかに楽に、あるいは直感的にするか、ということをもとに作られています。 ライフサイクルとはつまり、オブジェクトが生成されてから消滅するまでの一連の流れのことです。 newしたりallocしたりしたタイミングでオブジェクトが生成され、GC に回収されたりdeallocしたりするタイミン

    コールバックと上手に付き合う - Qiita
  • [JavaScript] 非同期処理のコールバック地獄から抜け出す方法 - Qiita

    JavaScript (Node.js) で開発する上で避けては通れない 非同期処理、コールバックについて考えてみたい。 自分なりのお勧めの方式を書いてみた。 いろいろなものを試した結果である。 ※この記事でのお勧めの方法は ES2015 (ES6) で実装された generators (yield) の技術を使用しています。 実はまだ Babel(6to5) 等を利用するか Node.js v4~v8 でしか 実質的に使用できない技術だと思います。悪しからず。 (早く全てのブラウザに広く普及する事を祈っています) まだブラウザでは独自ライブラリか Promise (Deferred) 等を使っています。 ※2015/10/15: 記事の内容を npm aa (async-await) に対応させました。 ※2015/04/19: 記事の内容を npm co@4 に対応させました。 ※20

    [JavaScript] 非同期処理のコールバック地獄から抜け出す方法 - Qiita
  • GoogleMapsにコールバックのURLスキームが付きました GoogleNavi - W&R : Jazzと読書の日々

    構成ユーティリティでチェックすると、新しいURLとして「comgooglemaps-x-callback:」が埋め込まれている。ということは・・・。 Google Maps 2.3.4 分類: ナビゲーション,旅行 価格: 無料 (Google, Inc.) Twitter上でも情報が流れていますが、Google系アプリはx-callback-url形式に準拠しているのでChromeと同じ方法で活用できます。 GoogleChromeにバック・ボタンを付けるURLスキームが分かった PocketChrome連携機能。考えてみると、これが出来るのはURLのオプションしか考えられない。けれど、通常の「googlechrome:」では、全てがURLアドレス扱いになるのでコールバックは... x-sourceにアプリ名を、x-successにURLスキームを指定。あ、なるほどなあ。こういうとき、

    GoogleMapsにコールバックのURLスキームが付きました GoogleNavi - W&R : Jazzと読書の日々
  • コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita

    このテキストは JavaScript のコールバック地獄に疲れたひとのためのコールバック駆逐術指南書です。対象読者は JavaScript道初段くらいの人です。このテキストを読むと、以下のそれぞれの手段における非同期処理制御の仕組み、利点および欠点がわかるようになるかもしれません。 コールバック地獄 jQuery.Deferred async.js Concurrent.Thread generators co fibers Web Workers (※なぜか『進撃の巨人』の一部ネタバレが含まれるので注意してください) それは『何故人はコールバックするのか』という話でしょうか? 非同期処理って面倒ですよね。JavaScriptではいわゆる コールバック地獄 というやつにしばしば陥りがちです。たとえば、Ajax でふたつのファイル hoge.txt と piyo.txt を持ってきて、それら

    コールバック……駆逐してやる…この世から…一匹…残らず!! - Qiita
  • CallbackとListenerとObserverの違い - 前人未踏の領域へ Androidアプリ開発編

    ※2013/12/25に加筆修正 Android APIを見ていると「--Callback」、「--Listener」、「--Observer」などの名前のInterfaceがある。 どれも似たような役割のインターフェースで結局のところ全部コールバックに属すると思うんだけど、どうにも違いが分かりにくいので整理。 海外のトピック「what is the difference between callbacks and listeners?」によると http://programmers.stackexchange.com/questions/84732/what-is-the-difference-between-callbacks-and-listeners Callbackは特定の処理が完了したらバケットのある関数を呼ぶのでその関数に接続する必要がある。 Listenerはある物事が発生

    CallbackとListenerとObserverの違い - 前人未踏の領域へ Androidアプリ開発編
  • jQuery.Deferred を使ってみる。 | バシャログ。

    カーテンのない家には住めない事に気がついたminamiです。 jQueryにはjQuery.Deferred というオブジェクトがあります。jQuery 1.5 のころから実装されてだいぶ経っているのですが、今までなんとなくよくわからなくて苦手意識があったので改めて使ってみました。 jQuery.Deferred ってなに? "deferred" の意味を調べると「延期された」「遅延された」などの意味があります。乱暴にまとめてしまうと、様々な処理が終わった後に呼ばれる(遅延された)処理を監視してくれるオブジェクトと言えます。 何を言っているのかわからん 文章で書くとまどろっこしいのでサンプルを作りました。1~4の処理が全て終わったら完了の表示を出します。 jQuery.Deferred を使った処理の管理 window.setTimeout() などのタイマー処理 jQuery.ajax

    jQuery.Deferred を使ってみる。 | バシャログ。
  • JavaScriptとコールバック地獄 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。JavaScriptでサンプルコードを書く機会があったので、どんなインターフェースで提供するのが便利なのか考えてみました。よく問題になるコールバックのネスト問題について、一般的な話をまとめてみます。 お題 突然ですが、次のような処理を行う必要があるとします。 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する これをプログラムで書くとどうなるでしょうか? シェルスクリプトの場合(同期) たとえばシェルスクリプトで素直に書くと、次のようになります。

    JavaScriptとコールバック地獄 - Yahoo! JAPAN Tech Blog
  • Fragment から Activity にコールバックする方法

    Fragment から Activity にコールバックしたいときに、例えばこんな感じで実装することができます。 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MainFragment fragment = new MainFragment(); fragment.setOnOkBtnClickListener(new MainFragment.OnOkBtnClickListener() { @Override public void onOkClicked() { // TODO Auto-generated method stub } }); getF

  • 1