エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ある値を非同期で取ってくる→その値を使ってさらに非同期処理というのをJSDeferredでする - Islands in the byte stream (legacy)
記事へのコメント4件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
ある値を非同期で取ってくる→その値を使ってさらに非同期処理というのをJSDeferredでする - Islands in the byte stream (legacy)
ユースケースとしては、テストの最初にあるシステムにログインしてユーザIDなりセッションIDなりを得て... ユースケースとしては、テストの最初にあるシステムにログインしてユーザIDなりセッションIDなりを得て、それでもって残りのテストを実行するみたいな処理です。 これ、素直にJSDeferredでDeferred.next(...).next(...)と続けても、このnextのコールバックは最初にいきなり呼ばれたあと「待ち」に入るので、非同期で取ってきた値に依存した処理は書けないんですよね。 これは、Deferredオブジェクトを自分で作って制御すればいけるみたいです。 以下サンプルコードです。最初の100msかかる非同期処理で42という値を得て、それを次の処理に渡せることを確認します: #!/usr/bin/env node "use strict"; var Deferred = require('./jsdeferred.js').Deferred; Deferred. next(func
2012/01/02 リンク