情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsでプロミスにディレイを付加する

プロミスにディレイを付加するにはp.delay関数を使用します。

p.delay関数は下のプロミスクラスで提供されています。

  • bluebirdクラス
  • q.Promiseクラス
  • when.promiseクラス
var p = p.delay(1000);

第1引数にディレイ時間をミリ秒単位で指定します。

返り値としてプロミスが得られます。

サンプルコード1

bluebird-promise-delay.js

var bluebird = require('bluebird');
var util = require('util');

var p1 = bluebird.resolve(1000).delay(1000);
var p2 = bluebird.resolve(2000).delay(2000);
var p3 = bluebird.resolve(3000).delay(3000);
var p4 = bluebird.resolve(4000).delay(4000);
var p5 = bluebird.resolve(5000).delay(5000);

p1.done(function (result) {
    util.log(result + " ms.");
}, function (err) {
    console.error(err);
});
p2.done(function (result) {
    util.log(result + " ms.");
}, function (err) {
    console.error(err);
});
p3.done(function (result) {
    util.log(result + " ms.");
}, function (err) {
    console.error(err);
});
p4.done(function (result) {
    util.log(result + " ms.");
}, function (err) {
    console.error(err);
});
p5.done(function (result) {
    util.log(result + " ms.");
}, function (err) {
    console.error(err);
});

使用パッケージ

  • Bluebird
    npm install bluebirdでインストールします。

実行結果

C:\work\node>node bluebird-promise-delay.js
14 Aug 17:34:54 - 1000 ms.
14 Aug 17:34:55 - 2000 ms.
14 Aug 17:34:56 - 3000 ms.
14 Aug 17:34:57 - 4000 ms.
14 Aug 17:34:58 - 5000 ms.

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js