タグ

deferredに関するgologo13のブックマーク (5)

  • Promiseについて - JS.next

    概要 Promiseとは非同期処理を上手く扱う為のAPIであり、パターンである。 非同期の処理の完了後に続けて処理を行いたいとき、よくコールバックパターンが使われるが、処理が連続するとコールバック地獄と言われる分かりづらいソースコードになってしまう。 また、複数の非同期処理が完了した時に処理を行うなど、コールバックパターンでは難しい事をスマートにできるのがこのPromiseである。 今まではDOMの方でDOM Promiseとして仕様策定が進められていたり、ライブラリのDeferredが有名だったが、ES2015標準に入ることになり、V8に実装された。 実装されたメソッド Promise.resolve(x) Promise.reject(x) Promise.all( [p1, p2, p3, ......] ) Promise.race( [p1, p2, p3, ......] )

    Promiseについて - JS.next
  • 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
  • iOS/Android対応 Boltsを使って非同期処理を統一的に書く - Qiita

    Bolts Framework とは 昨年Facebookに買収されて話題になったParseチームが開発しているiOS/Androidフレームワーク。 Bolts自体はParseとは独立しているため、ParseのBaaSを使っていない人にも役立ちます。 Parseはとても品質の良いサービスですので、Parseチームが作っているということでBoltsを安心して使えると思います。 Boltsはローレベルライブラリのコレクションだと書かれていますが、今のところは非同期処理の統一インターフェースとなるタスクのみ用意されています。今後いろいろ増えていくのかもしれません。 タスクを使うと何ができるかというと、jQuery.deferredみたいなことです。 ネストしまくりなコールバック地獄をわかりやすく書けたり、エラー処理が統一的に書けたり、直列or並列の連続処理の仕組みを提供してくれたりします。 導

    iOS/Android対応 Boltsを使って非同期処理を統一的に書く - Qiita
  • 【iOS】 コールバック地獄から脱出する為のライブラリ一覧 - Qiita

    Blocksのコールバックを使ってるとコールバック地獄に陥りやすいですよね。 (例:ボタンタップ→アラート確認→通信→通信結果を元に...) この問題を解決する為のライブラリを作るにあたって、 参考にさせていただいたライブラリを尊敬の念をこめつつ以下に挙げておきます。 実現したいこと 引用ですが、以下のことをiOSで実現したいと考えています。 非同期処理を同期的に書く 「同期的に」とはどういうことか? 代表的な要件としては ネストが入れ子にならない 上から下に読んで実行フローが把握できる 非同期処理の結果得られた値を次の処理に引き回せる try/catchで素直に例外を捕捉できる generatorとJavaScriptの非同期処理 future/promise, jQuery.Deferredについて 既存のiOSライブラリは、ほとんどがJavascript界隈での同種の問題解決に用いら

    【iOS】 コールバック地獄から脱出する為のライブラリ一覧 - Qiita
  • Objective-CでDeferred/PromiseでMethod Chainを書くときのTips - Qiita

    はじめに 「Objective-Cの文法とMethod Chainって致命的に相性悪いよね」というのを解消するTipsです。 さっき社内の後輩に教えてもらって感動したので投稿します。 問題点 最近かじり始めたDeferred/PromiseをObjective-Cでも使いたいと探していて、とりあえず CocoaPodsでInstallできる OMPromises https://github.com/b52/OMPromises というのを使っていました。 Promiseの考え方は、Webのみならず、通信や非同期Methodが多用されるiOS/Androidアプリでもとても重宝しそうです。 で、このOMPromisesですが、動作上はとりあえず問題無さそうなのですが、JavaScriptのようにMethodChainを行おうとすると、こんな感じになります。 return [[[[self

    Objective-CでDeferred/PromiseでMethod Chainを書くときのTips - Qiita
  • 1